From e44edc3789f6610efa8eab07bc91b3aecc0bf7a6 Mon Sep 17 00:00:00 2001 From: hannibal2 <24389977+hannibal00212@users.noreply.github.com> Date: Sat, 16 Dec 2023 13:10:40 +0100 Subject: Only modifying the total session when opening Vermin Bin. --- .../hannibal2/skyhanni/utils/tracker/SkyHanniTracker.kt | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'src/main/java/at/hannibal2/skyhanni/utils/tracker') diff --git a/src/main/java/at/hannibal2/skyhanni/utils/tracker/SkyHanniTracker.kt b/src/main/java/at/hannibal2/skyhanni/utils/tracker/SkyHanniTracker.kt index 02ce5129a..ad3418ace 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/tracker/SkyHanniTracker.kt +++ b/src/main/java/at/hannibal2/skyhanni/utils/tracker/SkyHanniTracker.kt @@ -68,6 +68,16 @@ open class SkyHanniTracker( } } + fun modify(mode: DisplayMode, modifyFunction: (Data) -> Unit) { + val storage = ProfileStorageData.profileSpecific ?: return + val data: Data = when (mode) { + DisplayMode.TOTAL -> storage.getTotal() + DisplayMode.SESSION -> storage.getCurrentSession() + } + modifyFunction(data) + update() + } + fun renderDisplay(position: Position) { if (config.hideInEstimatedItemValue && EstimatedItemValue.isCurrentlyShowing()) return @@ -127,9 +137,13 @@ open class SkyHanniTracker( ) protected fun getSharedTracker() = ProfileStorageData.profileSpecific?.let { - SharedTracker(getStorage(it), currentSessions.getOrPut(it) { createNewSession() }) + SharedTracker(it.getTotal(), it.getCurrentSession()) } + private fun Storage.ProfileSpecific.getCurrentSession() = currentSessions.getOrPut(this) { createNewSession() } + + private fun Storage.ProfileSpecific.getTotal(): Data = getStorage(this) + private fun reset(displayMode: DisplayMode, message: String) { getSharedTracker()?.let { it.get(displayMode).reset() -- cgit