diff options
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/utils')
3 files changed, 14 insertions, 10 deletions
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<String>, + val hover: List<String> = emptyList(), + val highlightsOnHoverSlots: List<Int> = 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<Pair<Int, Int>, List<Int>>() var currentRenderPassMousePosition: Pair<Int, Int>? = null set @@ -142,7 +142,7 @@ interface Renderable { fun hoverTips( content: Any, tips: List<Any>, - indexes: List<Int> = listOf(), + highlightsOnHoverSlots: List<Int> = 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 |
