ThroneSuggestions test
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.greasyfork.org/scripts/536289/1590726/ThroneSuggestions.js
// throneSuggestions.js (New Tab for Throne Room Suggestions)
Tabs.ThroneSuggestions = {
tabOrder: 2190, // Adjust as needed
tabLabel: "Throne Suggestions",
tabColor: "brown", // Or a suitable color
myDiv: null,
suggestedItems: {}, // Store suggested items for different room types
init(div) {
this.myDiv = div;
this.loadSuggestedItems(); // Load from storage
this.paint();
},
paint() {
const m = `
<div class="divHeader" align="center">Throne Room Suggestions</div>
<br>
<div align="center">
<label for="roomTypeInput">Enter Desired Room Type:</label>
<input type="text" id="roomTypeInput" class="btInput" placeholder="e.g., Defense, Attack, Resource">
<br><br>
<button id="suggestButton" class="buttonv2 std blue">Suggest Items</button>
<br><br>
<div id="suggestionsResult"></div>
</div>
`;
this.myDiv.innerHTML = m;
// Event listener
$("#suggestButton").click(() => this.suggestItems());
},
suggestItems() {
const roomType = $("#roomTypeInput").val().trim().toLowerCase();
if (roomType === "") {
return;
}
// Check if suggestions exist for this room type
const suggestions = this.suggestedItems[roomType] || [];
// Display suggestions (or a message if none exist)
if (suggestions.length > 0) {
this.displaySuggestions(suggestions);
} else {
this.updateStatus(tx("No suggestions found for this room type. You can add suggestions in the Throne Room tab."));
}
},
displaySuggestions(suggestions) {
// ... (Your logic to display the suggested items) ...
// This could involve highlighting items in the Throne Room tab,
// displaying a list of item names, or other visual cues.
// Example (displaying a list of item names):
const suggestionsHTML = suggestions.map(item => `
<div>- ${item.name} (Might: ${item.might})</div> </div>
`).join('');
this.updateStatus(`Suggested Items for ${roomType}:\n${suggestionsHTML}`);
// Example (highlighting items in the Throne Room tab - requires integration with Throne Room tab):
// if (Tabs.Throne) {
// Tabs.Throne.highlightItems(suggestions); // Assuming you add a highlightItems function to the Throne Room tab
// }
},
// ... (addSuggestion, removeSuggestion, saveSuggestedItems, loadSuggestedItems) ...
// Implement these functions to allow users to add/remove suggestions and
// save/load them from storage (GM_setValue or IndexedDB).
show() {
// ...
},
hide() {
// ...
}
};