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

60 lines
1.9 KiB
Java

package noppes.npcs.client.gui;
import noppes.npcs.client.gui.util.SubGuiInterface;
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) {
// 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.
this(MagicController.getInstance().getCycle(cycleID));
}
@Override
public void initGui() {
super.initGui();
if (magicCycle == null)
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);
}
}