Skip to content

Commit

Permalink
I tried, and failed, to fix the stupid UI not updating
Browse files Browse the repository at this point in the history
  • Loading branch information
DavidArthurCole committed Oct 4, 2024
1 parent 316bccb commit 48a5b1d
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package at.hannibal2.skyhanni.utils.tracker
import at.hannibal2.skyhanni.SkyHanniMod
import at.hannibal2.skyhanni.config.storage.ProfileSpecificStorage
import at.hannibal2.skyhanni.data.SlayerAPI
import at.hannibal2.skyhanni.data.TrackerManager
import at.hannibal2.skyhanni.utils.ChatUtils
import at.hannibal2.skyhanni.utils.CollectionUtils.addSearchableSelector
import at.hannibal2.skyhanni.utils.CollectionUtils.sortedDesc
Expand Down Expand Up @@ -33,9 +34,9 @@ class SkyHanniBucketedItemTracker<E : Enum<E>, BucketedData : BucketedItemTracke
}

fun addItemToSelectedBucket(internalName: NEUInternalName, amount: Int, command: Boolean = false) {
val addSuccess: Boolean = getSharedTracker()?.tryModify {
val addSuccess: Boolean = tryModify {
it.addItem(internalName, amount)
} ?: false
}

if (!addSuccess) {
ChatUtils.chat(
Expand All @@ -58,11 +59,22 @@ class SkyHanniBucketedItemTracker<E : Enum<E>, BucketedData : BucketedItemTracke
it.get(DisplayMode.SESSION).getItemsProp()[internalName]!!.hidden = hidden
}

if (command) {
TrackerManager.commandEditTrackerSuccess = true
val displayName = internalName.itemName
if (amount > 0) {
ChatUtils.chat("Manually added to $name: §r$displayName §7(${amount}x§7)")
} else {
ChatUtils.chat("Manually removed from $name: §r$displayName §7(${-amount}x§7)")
}
return
}

val (itemName, price) = SlayerAPI.getItemNameAndPrice(internalName, amount)
if (config.warnings.chat && price >= config.warnings.minimumChat && !command) {
if (config.warnings.chat && price >= config.warnings.minimumChat) {
ChatUtils.chat("§a+Tracker Drop§7: §r$itemName")
}
if (config.warnings.title && price >= config.warnings.minimumTitle && !command) {
if (config.warnings.title && price >= config.warnings.minimumTitle) {
LorenzUtils.sendTitle("§a+ $itemName", 5.seconds)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ open class SkyHanniTracker<Data : TrackerData>(

fun isInventoryOpen() = inventoryOpen

fun resetCommand() = ChatUtils.clickableChat(
open fun resetCommand() = ChatUtils.clickableChat(
"Are you sure you want to reset your total $name? Click here to confirm.",
onClick = {
reset(DisplayMode.TOTAL, "Reset total $name!")
Expand All @@ -71,6 +71,13 @@ open class SkyHanniTracker<Data : TrackerData>(
update()
}

fun tryModify(modifyFunction: (Data) -> Boolean): Boolean {
val sharedTracker = getSharedTracker() ?: return false
val success = sharedTracker.tryModify(modifyFunction)
update()
return success
}

fun renderDisplay(position: Position) {
if (config.hideInEstimatedItemValue && EstimatedItemValue.isCurrentlyShowing()) return

Expand Down

0 comments on commit 48a5b1d

Please sign in to comment.