diff options
Diffstat (limited to 'NET/worlds/scape/UniverseHandler.java')
| -rw-r--r-- | NET/worlds/scape/UniverseHandler.java | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/NET/worlds/scape/UniverseHandler.java b/NET/worlds/scape/UniverseHandler.java new file mode 100644 index 0000000..b0e05cf --- /dev/null +++ b/NET/worlds/scape/UniverseHandler.java @@ -0,0 +1,66 @@ +package NET.worlds.scape; + +import NET.worlds.console.Console; +import NET.worlds.console.DefaultConsole; +import NET.worlds.console.UniversePanel; + +public class UniverseHandler { + public static boolean handle(MouseDeltaEvent e) { + if (e.dx != 0 || e.dy != 0) { + Console cons = Console.getActive(); + UniversePanel universe = null; + if (cons instanceof DefaultConsole) { + universe = ((DefaultConsole)cons).getUniverse(); + } + + if (universe != null) { + universe.addOffset(-e.dx, -e.dy); + return true; + } + } + + return false; + } + + public static boolean handle(KeyDownEvent e) { + Console cons = Console.getActive(); + UniversePanel universe = null; + if (cons instanceof DefaultConsole) { + universe = ((DefaultConsole)cons).getUniverse(); + } + + if (universe != null) { + switch (e.key) { + case '\ue325': + universe.keyDown(null, 1006); + return true; + case '\ue326': + universe.keyDown(null, 1004); + return true; + case '\ue327': + universe.keyDown(null, 1007); + return true; + case '\ue328': + universe.keyDown(null, 1005); + return true; + } + } + + return false; + } + + public static boolean handle(KeyUpEvent e) { + Console cons = Console.getActive(); + UniversePanel universe = null; + if (cons instanceof DefaultConsole) { + universe = ((DefaultConsole)cons).getUniverse(); + } + + if (universe != null) { + universe.keyUp(null, 1004); + return true; + } else { + return false; + } + } +} |