@Override public void handle(String message) { String[] tokens = message.split(" "); if (tokens[0].equals("load") && tokens.length == 2) { map = MapLoader.loadMap(tokens[1]); } else if (tokens[0].equals("scale") && tokens.length == 2) { scale = Integer.parseInt(tokens[1].trim()); } else if (tokens[0].equals("debug") && tokens.length == 2) { GameContext.setDebugMode(tokens[1].equals("on")); } else if (tokens[0].equals("reset") && tokens.length == 1) { GameContext.getCamera().setPosition(new Coord(0, 0)); GameContext.getCamera().setFollowing(player); editorMode = false; scale = 90; entities.remove(editorTag); editorTag = null; } else if (tokens[0].equals("editor") && tokens.length == 1) { GameContext.getCamera().getPosition().snap(); editorTag = new EditorTagEntity(GameContext.getCamera().getPosition()); entities.add(editorTag); GameContext.getCamera().setFollowing(editorTag); editorMode = true; } else if (tokens[0].equals("save") && tokens.length == 2) { MapLoader.saveMap(map, tokens[1].trim()); } else if (tokens[0].equals("move") && tokens.length == 2) { player.move(Integer.parseInt(tokens[1])); } }