From b9c0aaa585a913d5c139c8e5aa7437925b1acfa2 Mon Sep 17 00:00:00 2001 From: hannibal2 <24389977+hannibal002@users.noreply.github.com> Date: Thu, 4 Apr 2024 20:31:39 +0200 Subject: Improvement: Anita and SkyMart highlight (#1118) Co-authored-by: hannibal2 <24389977+hannibal00212@users.noreply.github.com> --- .../java/at/hannibal2/skyhanni/utils/DisplayTableEntry.kt | 3 ++- src/main/java/at/hannibal2/skyhanni/utils/LorenzUtils.kt | 8 ++++++-- .../at/hannibal2/skyhanni/utils/renderables/Renderable.kt | 13 ++++++------- 3 files changed, 14 insertions(+), 10 deletions(-) (limited to 'src/main/java/at/hannibal2/skyhanni/utils') diff --git a/src/main/java/at/hannibal2/skyhanni/utils/DisplayTableEntry.kt b/src/main/java/at/hannibal2/skyhanni/utils/DisplayTableEntry.kt index d78a32f31..be190e92c 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/DisplayTableEntry.kt +++ b/src/main/java/at/hannibal2/skyhanni/utils/DisplayTableEntry.kt @@ -5,5 +5,6 @@ class DisplayTableEntry( val right: String, val sort: Double, val item: NEUInternalName, - val hover: List, + val hover: List = emptyList(), + val highlightsOnHoverSlots: List = emptyList(), ) diff --git a/src/main/java/at/hannibal2/skyhanni/utils/LorenzUtils.kt b/src/main/java/at/hannibal2/skyhanni/utils/LorenzUtils.kt index 861530a58..740c6acaf 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/LorenzUtils.kt +++ b/src/main/java/at/hannibal2/skyhanni/utils/LorenzUtils.kt @@ -186,9 +186,13 @@ object LorenzUtils { displayName += " " } - val hover = entry.hover + val renderable = Renderable.hoverTips( + "$displayName ${entry.right}", + tips = entry.hover, + highlightsOnHoverSlots = entry.highlightsOnHoverSlots + ) entry.item.getItemStackOrNull()?.let { - add(listOf(it, Renderable.hoverTips("$displayName ${entry.right}", tips = hover))) + add(listOf(it, renderable)) } } } diff --git a/src/main/java/at/hannibal2/skyhanni/utils/renderables/Renderable.kt b/src/main/java/at/hannibal2/skyhanni/utils/renderables/Renderable.kt index 30b595186..410a00cc8 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/renderables/Renderable.kt +++ b/src/main/java/at/hannibal2/skyhanni/utils/renderables/Renderable.kt @@ -2,6 +2,7 @@ package at.hannibal2.skyhanni.utils.renderables import at.hannibal2.skyhanni.config.core.config.gui.GuiPositionEditor import at.hannibal2.skyhanni.config.features.skillprogress.SkillProgressBarConfig +import at.hannibal2.skyhanni.data.HighlightOnHoverSlot import at.hannibal2.skyhanni.data.ToolTipData import at.hannibal2.skyhanni.features.chroma.ChromaShaderManager import at.hannibal2.skyhanni.features.chroma.ChromaType @@ -48,7 +49,6 @@ interface Renderable { companion object { val logger = LorenzLogger("debug/renderable") - val list = mutableMapOf, List>() var currentRenderPassMousePosition: Pair? = null set @@ -142,7 +142,7 @@ interface Renderable { fun hoverTips( content: Any, tips: List, - indexes: List = listOf(), + highlightsOnHoverSlots: List = listOf(), stack: ItemStack? = null, color: LorenzColor? = null, bypassChecks: Boolean = false, @@ -162,10 +162,11 @@ interface Renderable { override fun render(posX: Int, posY: Int) { render.render(posX, posY) + val pair = Pair(posX, posY) if (isHovered(posX, posY)) { if (condition() && shouldAllowLink(true, bypassChecks)) { onHover.invoke() - list[Pair(posX, posY)] = indexes + HighlightOnHoverSlot.currentSlots[pair] = highlightsOnHoverSlots GlStateManager.pushMatrix() GlStateManager.translate(0F, 0F, 400F) @@ -182,9 +183,7 @@ interface Renderable { GlStateManager.popMatrix() } } else { - if (list.contains(Pair(posX, posY))) { - list.remove(Pair(posX, posY)) - } + HighlightOnHoverSlot.currentSlots.remove(pair) } } } @@ -375,7 +374,7 @@ interface Renderable { width: Int = 182, height: Int = 5, horizontalAlign: HorizontalAlignment = HorizontalAlignment.LEFT, - verticalAlign: VerticalAlignment = VerticalAlignment.TOP + verticalAlign: VerticalAlignment = VerticalAlignment.TOP, ) = object : Renderable { override val width = width override val height = height -- cgit