summaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/features/slayer
diff options
context:
space:
mode:
authorhannibal2 <24389977+hannibal00212@users.noreply.github.com>2023-11-09 18:39:30 +0100
committerhannibal2 <24389977+hannibal00212@users.noreply.github.com>2023-11-09 18:39:30 +0100
commite03ba746fa0ab6258fcd5e6855d1590b0ba6f5c9 (patch)
tree2de4b40f7e7466e52e5d1b16eb8a45c3d5f4eabe /src/main/java/at/hannibal2/skyhanni/features/slayer
parentd2d6162ce5830099418e85b69f02b958625ad6a7 (diff)
downloadskyhanni-e03ba746fa0ab6258fcd5e6855d1590b0ba6f5c9.tar.gz
skyhanni-e03ba746fa0ab6258fcd5e6855d1590b0ba6f5c9.tar.bz2
skyhanni-e03ba746fa0ab6258fcd5e6855d1590b0ba6f5c9.zip
SkyHanniTracker now handles the display list as well.
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/features/slayer')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/slayer/SlayerProfitTracker.kt29
1 files changed, 7 insertions, 22 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/features/slayer/SlayerProfitTracker.kt b/src/main/java/at/hannibal2/skyhanni/features/slayer/SlayerProfitTracker.kt
index 7efaed3d3..229d9007c 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/slayer/SlayerProfitTracker.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/slayer/SlayerProfitTracker.kt
@@ -48,7 +48,6 @@ object SlayerProfitTracker {
private var itemLogCategory = ""
private var baseSlayerType = ""
- private var display = emptyList<List<Any>>()
private val logger = LorenzLogger("slayer/profit_tracker")
private var lastClickDelay = 0L
private val trackers = mutableMapOf<String, SkyHanniTracker<Data>>()
@@ -106,7 +105,6 @@ object SlayerProfitTracker {
getTracker()?.modify {
it.slayerSpawnCost += price
}
- update()
}
private var allowedItems = mapOf<String, List<NEUInternalName>>()
@@ -135,14 +133,13 @@ object SlayerProfitTracker {
val newSlayer = event.newSlayer
itemLogCategory = newSlayer.removeColor()
baseSlayerType = itemLogCategory.substringBeforeLast(" ")
- update()
+ getTracker()?.update()
}
private fun addMobKillCoins(coins: Int) {
getTracker()?.modify {
it.mobKillCoins += coins
}
- update()
}
private fun addItemPickup(internalName: NEUInternalName, stackSize: Int) {
@@ -152,8 +149,6 @@ object SlayerProfitTracker {
slayerItemProfit.timesDropped++
slayerItemProfit.totalAmount += stackSize
}
-
- update()
}
private fun getTracker(): SkyHanniTracker<Data>? {
@@ -165,7 +160,7 @@ object SlayerProfitTracker {
itemLogCategory
) { Data() }
}
- SkyHanniTracker("$itemLogCategory Profit Tracker", { Data() }, getStorage) { update() }
+ SkyHanniTracker("$itemLogCategory Profit Tracker", { Data() }, getStorage) { drawDisplay(it) }
}
}
@@ -174,8 +169,6 @@ object SlayerProfitTracker {
getTracker()?.modify {
it.slayerCompletedCount++
}
-
- update()
}
@SubscribeEvent
@@ -238,16 +231,9 @@ object SlayerProfitTracker {
return internalName in allowedList
}
- fun update() {
- val tracker = getTracker() ?: return
- display = drawDisplay(tracker)
- }
-
- private fun drawDisplay(tracker: SkyHanniTracker<Data>) = buildList<List<Any>> {
- val itemLog = tracker.currentDisplay() ?: return@buildList
-
+ private fun drawDisplay(itemLog: Data) = buildList<List<Any>> {
+ val tracker = getTracker() ?: return@buildList
addAsSingletonList("§e§l$itemLogCategory Profit Tracker")
- tracker.addDisplayModeToggle(this)
var profit = 0.0
val map = mutableMapOf<Renderable, Long>()
@@ -291,7 +277,7 @@ object SlayerProfitTracker {
itemProfit.hidden = !hidden
lastClickDelay = System.currentTimeMillis()
}
- update()
+ tracker.update()
}
} else Renderable.string(text)
if (tracker.isInventoryOpen() || !hidden) {
@@ -349,11 +335,10 @@ object SlayerProfitTracker {
isCurrent = { it.ordinal == config.priceFrom },
onChange = {
config.priceFrom = it.ordinal
- update()
+ tracker.update()
}
)
}
- tracker.addSessionResetButton(this)
}
private fun getPrice(internalName: NEUInternalName) = when (config.priceFrom) {
@@ -368,7 +353,7 @@ object SlayerProfitTracker {
if (!isEnabled()) return
if (!SlayerAPI.isInCorrectArea) return
- getTracker()?.renderDisplay(config.pos, display)
+ getTracker()?.renderDisplay(config.pos)
}
fun isEnabled() = LorenzUtils.inSkyBlock && config.enabled