Files
CustomNPC-Plus/src/main/java/noppes/npcs/client/gui/SubGuiMagicCycleViewer.java
T

59 lines
1.9 KiB
Java
Raw Normal View History

2025-03-04 21:03:36 -05:00
package noppes.npcs.client.gui;
2025-03-12 20:12:01 -04:00
import noppes.npcs.client.gui.util.SubGuiInterface;
2025-03-04 21:03:36 -05:00
import noppes.npcs.controllers.MagicController;
import noppes.npcs.controllers.data.MagicCycle;
public class SubGuiMagicCycleViewer extends SubGuiInterface {
private final MagicCycle magicCycle;
private GuiMagicCycleMap magicMap;
public SubGuiMagicCycleViewer(MagicCycle cycle) {
this.magicCycle = cycle;
setBackground("menubg.png");
xSize = 256;
ySize = 222;
closeOnEsc = true;
}
public SubGuiMagicCycleViewer(int cycleID) {
2025-10-19 22:06:11 -04:00
// TODO: Fetches MagicController cycle definitions (global magic data); only staff with the wand and
// CustomNpcsPermissions.GLOBAL_MAGIC reach this viewer via the magic management GUIs.
2025-03-04 21:03:36 -05:00
this(MagicController.getInstance().getCycle(cycleID));
}
@Override
public void initGui() {
super.initGui();
2025-03-12 20:12:01 -04:00
if (magicCycle == null)
2025-03-04 21:03:36 -05:00
return;
// Position the map in a designated area (e.g., right panel)
int mapX = guiLeft + 6;
int mapY = guiTop + 6;
int mapWidth = xSize - 13;
int mapHeight = ySize - 17;
magicMap = new GuiMagicCycleMap(this, mapX, mapY, mapWidth, mapHeight, magicCycle);
addDiagram(0, magicMap);
}
@Override
public void mouseClickMove(int mouseX, int mouseY, int clickedMouseButton, long timeSinceLastClick) {
if (magicMap != null) {
magicMap.mouseClickMove(mouseX, mouseY, clickedMouseButton, timeSinceLastClick);
}
super.mouseClickMove(mouseX, mouseY, clickedMouseButton, timeSinceLastClick);
}
@Override
protected void mouseMovedOrUp(int mouseX, int mouseY, int state) {
if (magicMap != null) {
magicMap.mouseReleased(mouseX, mouseY, state);
}
super.mouseMovedOrUp(mouseX, mouseY, state);
}
}