Add support for defining a shop as force-shared

This commit is contained in:
ceikry 2023-02-10 16:18:55 -06:00
parent a34cb8c684
commit 5855afa6ca
4 changed files with 13 additions and 3 deletions

View file

@ -205,7 +205,8 @@ enum class Editors(val data: EditorData) {
val npcs = if(shopData["npcs"].toString().isNotBlank()) shopData["npcs"].toString() else ""
val currency = shopData["currency"].toString().toInt()
val highAlch = shopData["high_alch"].toString() == "1"
TableData.shops[id] = TableData.Shop(id,title,stock,npcs,currency,general,highAlch)
val forceShared = shopData.getOrDefault("force_shared", "false").toString().toBoolean()
TableData.shops[id] = TableData.Shop(id,title,stock,npcs,currency,general,highAlch, forceShared)
counter++
}
@ -232,6 +233,8 @@ enum class Editors(val data: EditorData) {
sh.put("currency",shop.currency.toString())
sh.put("high_alch",if(shop.high_alch) "1" else "0")
sh.put("general_store",shop.general_store.toString())
if (shop.forceShared)
sh.put("force_shared", shop.forceShared.toString())
shs.add(sh)
}

View file

@ -14,6 +14,7 @@ class ShopEdit(val shopID: Int) : JFrame("Edit Shop") {
val currencyField = JTextField()
val generalCheckbox = JCheckBox("General Store")
val highAlchCheckbox = JCheckBox("High Alch Prices")
val forceSharedCheckbox = JCheckBox("Force Shared")
var model = DefaultTableModel()
@ -86,6 +87,12 @@ class ShopEdit(val shopID: Int) : JFrame("Edit Shop") {
shop!!.high_alch = !shop.high_alch
}
checkPanel.add(highAlchCheckbox)
forceSharedCheckbox.isBorderPaintedFlat = shop?.forceShared ?: false
forceSharedCheckbox.isSelected = shop?.forceShared ?: false
forceSharedCheckbox.addChangeListener {
shop!!.forceShared = !shop.forceShared
}
checkPanel.add(forceSharedCheckbox)
val addButton = JButton("Add Item")
addButton.addActionListener {

View file

@ -26,7 +26,7 @@ class ShopList : JFrame("RS09 Shop Editor") {
val saveButton = JButton("Save Shops")
addButton.addActionListener {
val highestID = TableData.shops.keys.toIntArray()[TableData.shops.size - 1]
TableData.shops.put(highestID + 1, TableData.Shop(highestID + 1,"", ArrayList(),"",995,false,false))
TableData.shops.put(highestID + 1, TableData.Shop(highestID + 1,"", ArrayList(),"",995,false,false,false))
ShopEdit(highestID + 1).open()
}
saveButton.addActionListener {

View file

@ -7,7 +7,7 @@ import java.lang.StringBuilder
import javax.script.ScriptEngineManager
object TableData {
class Shop(var id: Int,var title: String,var stock: ArrayList<Item>,var npcs: String,var currency: Int,var general_store: Boolean,var high_alch: Boolean)
class Shop(var id: Int,var title: String,var stock: ArrayList<Item>,var npcs: String,var currency: Int,var general_store: Boolean,var high_alch: Boolean,var forceShared: Boolean)
val tables = ArrayList<NPCDropTable>()
val itemNames = hashMapOf<Int,String>()
val npcNames = hashMapOf<Int,String>()