From e1e781bb2135ef78592226f1a3eaba4925702f1f Mon Sep 17 00:00:00 2001 From: Fuwn Date: Mon, 3 May 2021 16:38:41 -0700 Subject: :star: --- NET/worlds/console/WorldButton.java | 194 ++++++++++++++++++++++++++++++++++++ 1 file changed, 194 insertions(+) create mode 100644 NET/worlds/console/WorldButton.java (limited to 'NET/worlds/console/WorldButton.java') diff --git a/NET/worlds/console/WorldButton.java b/NET/worlds/console/WorldButton.java new file mode 100644 index 0000000..ddb51b3 --- /dev/null +++ b/NET/worlds/console/WorldButton.java @@ -0,0 +1,194 @@ +/* */ package NET.worlds.console; +/* */ +/* */ import NET.worlds.network.NetUpdate; +/* */ import NET.worlds.scape.TeleportAction; +/* */ import java.awt.Color; +/* */ import java.awt.Dimension; +/* */ import java.awt.Event; +/* */ import java.awt.Font; +/* */ import java.awt.Graphics; +/* */ import java.awt.MenuItem; +/* */ import java.awt.PopupMenu; +/* */ import java.io.PrintStream; +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ class WorldButton +/* */ extends TextImageButtons +/* */ { +/* */ private static final long serialVersionUID = 8349532719484982330L; +/* */ int buttonX; +/* */ int buttonY; +/* */ String pkg; +/* */ int privacyLevel; +/* */ boolean isLoaded; +/* */ String readableName; +/* */ DefaultConsole console; +/* 67 */ static String currentPackageName = ""; +/* 68 */ private static Font wfont = new Font(Console.message("UniverseFont"), +/* 69 */ 0, 10); +/* */ +/* */ +/* 72 */ private static final int[] xText = new int[1]; +/* */ +/* */ +/* */ +/* */ PopupMenu lastPackageMenu; +/* */ +/* */ +/* */ +/* */ public WorldButton(boolean isLoaded, int buttonX, int buttonY, int buttonWidth, int buttonHeight, String[] texts, String pkg, int privacy, DefaultConsole console, ImageButtonsCallback handler) +/* */ { +/* 82 */ super(null, buttonWidth, intToInts(buttonHeight), xText, texts, handler, wfont); +/* */ +/* 84 */ this.readableName = texts[0]; +/* 85 */ this.buttonX = buttonX; +/* 86 */ this.buttonY = buttonY; +/* 87 */ this.pkg = pkg; +/* 88 */ this.isLoaded = isLoaded; +/* 89 */ this.privacyLevel = privacy; +/* 90 */ this.console = console; +/* */ +/* 92 */ setSize(buttonWidth, buttonHeight); +/* 93 */ setWidth(buttonWidth); +/* 94 */ setHeight(buttonHeight); +/* */ } +/* */ +/* */ public static Dimension measure(String text) { +/* 98 */ return TextImageButtons.measure(text, wfont); +/* */ } +/* */ +/* */ +/* */ public void doAction() +/* */ { +/* 104 */ if ((this.console == null) || (!showPackageMenu())) { +/* 105 */ NetUpdate.loadWorld(this.pkg, true); +/* */ } +/* */ } +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ public boolean showPackageMenu() +/* */ { +/* 119 */ if (this.lastPackageMenu != null) { +/* 120 */ remove(this.lastPackageMenu); +/* 121 */ this.lastPackageMenu = null; +/* */ } +/* 123 */ this.lastPackageMenu = WorldsMarkPart.getPackageMenu(this.pkg); +/* */ +/* 125 */ if ((this.lastPackageMenu == null) || (this.lastPackageMenu.getItemCount() == 0)) { +/* 126 */ return false; +/* */ } +/* */ +/* */ +/* 130 */ MenuItem first = this.lastPackageMenu.getItem(0); +/* 131 */ if ((first instanceof BookmarkMenuItem)) { +/* 132 */ BookmarkMenuItem title = new BookmarkMenuItem(this.readableName + +/* 133 */ " World:", ((BookmarkMenuItem)first).getTarget()); +/* */ +/* 135 */ this.lastPackageMenu.insert(title, 0); +/* 136 */ this.lastPackageMenu.insertSeparator(1); +/* */ } +/* */ +/* 139 */ add(this.lastPackageMenu); +/* */ try { +/* 141 */ this.lastPackageMenu.show(this, -15, -7); +/* */ } +/* */ catch (RuntimeException e) { +/* 144 */ System.out.println("Warning - could not show teleport location menu."); +/* */ } +/* 146 */ return true; +/* */ } +/* */ +/* */ public void update(Graphics g) +/* */ { +/* 151 */ paint(g); +/* */ } +/* */ +/* */ @Deprecated +/* */ public boolean action(Event event, Object what) +/* */ { +/* 157 */ Object target = event.target; +/* */ +/* 159 */ if ((target instanceof BookmarkMenuItem)) { +/* 160 */ TeleportAction.teleport(((BookmarkMenuItem)target).getTarget(), +/* 161 */ null); +/* 162 */ this.console.toggleUniverseMode(); +/* */ } else { +/* 164 */ return super.action(event, what); +/* */ } +/* 166 */ return true; +/* */ } +/* */ +/* */ protected Graphics drawButton(Graphics g, int button, int state) +/* */ { +/* */ Color c; +/* */ Color c; +/* 173 */ if (state == 1) { Color c; +/* 174 */ if (this.isLoaded) { +/* 175 */ c = currentPackageName.equalsIgnoreCase(this.pkg) ? new Color(192, +/* 176 */ 255, 192) : Color.white; +/* */ } else +/* 178 */ c = Color.red; } else { Color c; +/* 179 */ if (state == 2) { +/* 180 */ c = new Color(255, 192, 192); +/* */ } else +/* 182 */ c = Color.green; +/* */ } +/* 184 */ g = super.drawButton(g, button, state, c); +/* */ +/* 186 */ return g; +/* */ } +/* */ } + + +/* Location: C:\Program Files (x86)\Worlds Inc\WorldsPlayer - Win7\lib\worlds.jar!\NET\worlds\console\WorldButton.class + * Java compiler version: 6 (50.0) + * JD-Core Version: 0.7.1 + */ \ No newline at end of file -- cgit v1.2.3