From 48f738091312f75181a81515207c1bc2751b413b Mon Sep 17 00:00:00 2001 From: Kam Date: Tue, 15 Apr 2025 19:50:11 -0400 Subject: [PATCH] Hovering System --- .../noppes/npcs/client/gui/GuiMagicCycleMap.java | 2 +- .../noppes/npcs/client/gui/util/GuiDiagram.java | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/main/java/noppes/npcs/client/gui/GuiMagicCycleMap.java b/src/main/java/noppes/npcs/client/gui/GuiMagicCycleMap.java index fab86da09..7a7c6a929 100644 --- a/src/main/java/noppes/npcs/client/gui/GuiMagicCycleMap.java +++ b/src/main/java/noppes/npcs/client/gui/GuiMagicCycleMap.java @@ -58,7 +58,7 @@ public class GuiMagicCycleMap extends GuiDiagram { setCurveAngle(-25); invalidateCache(); - this.allowTwoWay = false; + this.allowTwoWay = true; this.iconSize = 20; this.slotSize = iconSize + slotPadding; } diff --git a/src/main/java/noppes/npcs/client/gui/util/GuiDiagram.java b/src/main/java/noppes/npcs/client/gui/util/GuiDiagram.java index 721340a54..3a089849b 100644 --- a/src/main/java/noppes/npcs/client/gui/util/GuiDiagram.java +++ b/src/main/java/noppes/npcs/client/gui/util/GuiDiagram.java @@ -1288,7 +1288,12 @@ public abstract class GuiDiagram extends Gui { Point pTo = positions.get(conn.idTo); if (pFrom == null || pTo == null) continue; int ax = pFrom.x, ay = pFrom.y, bx = pTo.x, by = pTo.y; - boolean dim = !selectedIconIds.isEmpty() && !(selectedIconIds.contains(conn.idFrom) && selectedIconIds.contains(conn.idTo)); + boolean dim; + if (hoveredIconId != null) { + dim = (conn.idFrom != hoveredIconId); + } else { + dim = !selectedIconIds.isEmpty() && !(selectedIconIds.contains(conn.idFrom) && selectedIconIds.contains(conn.idTo)); + } drawConnectionLine(ax, ay, bx, by, conn, dim); } for (DiagramIcon icon : getIcons()) { @@ -1316,7 +1321,12 @@ public abstract class GuiDiagram extends Gui { Point pTo = positions.get(conn.idTo); if (pFrom == null || pTo == null) continue; int ax = pFrom.x, ay = pFrom.y, bx = pTo.x, by = pTo.y; - boolean dim = !selectedIconIds.isEmpty() && !(selectedIconIds.contains(conn.idFrom) && selectedIconIds.contains(conn.idTo)); + boolean dim; + if (hoveredIconId != null) { + dim = (conn.idFrom != hoveredIconId); + } else { + dim = !selectedIconIds.isEmpty() && !(selectedIconIds.contains(conn.idFrom) && selectedIconIds.contains(conn.idTo)); + } drawArrowHead(ax, ay, bx, by, conn, dim); } GL11.glPopMatrix();