List of usage examples for com.badlogic.gdx.utils JsonReader parse
public JsonValue parse(FileHandle file)
From source file:br.com.questingsoftware.libgdx.g3db.G3DBConverter.java
License:Apache License
/** <p> * Convert a text JSON file into binary JSON. The new file will be saved in the same folder as the original one with the * {@code gd3b} extension./*from ww w . ja v a2 s .c o m*/ * </p> * * @param g3djFile Handle to the original G3DJ file. * @param overwrite If {@code true} the new file will overwrite any previous file with the same name. Otherwise append a * counter at the end of the file name to make it unique. * @throws IOException If there's an exception while reading the input file or writing the output file. */ public void convert(FileHandle g3djFile, boolean overwrite) throws IOException { FileHandle newFile = new FileHandle(g3djFile.pathWithoutExtension() + ".g3db"); int noOverwriteCounter = 0; while (!overwrite && newFile.exists()) { newFile = new FileHandle(g3djFile.pathWithoutExtension() + "(" + (++noOverwriteCounter) + ").g3db"); } OutputStream fileOutputStream = newFile.write(false); UBJsonWriter writer = new UBJsonWriter(fileOutputStream); JsonReader reader = new JsonReader(); try { JsonValue root = reader.parse(g3djFile); writeObject(root, writer); } finally { writer.close(); } }
From source file:com.ahsgaming.valleyofbones.screens.GameJoinScreen.java
License:Apache License
public void setupScreen() { Table table = new Table(getSkin()); table.setFillParent(true);//from ww w . jav a 2s . c o m stage.addActor(table); table.add("Name:").pad(4).left(); lblNickname = new Label(game.profile.name, getSkin()); table.add(lblNickname).pad(4).left(); chkAuth = new CheckBox(" Authenticating...", getSkin()); table.add(chkAuth).colspan(2).left(); table.row(); table.add("Server Name", "small-grey"); table.add("Address", "small-grey"); table.add("Players", "small-grey"); table.add("Status", "small-grey"); table.row(); listNames = new List(new Object[] {}, getSkin()); listServers = new List(new Object[] {}, getSkin()); listPlayers = new List(new Object[] {}, getSkin()); listStatus = new List(new Object[] {}, getSkin()); table.add(listNames).pad(5); table.add(listServers).pad(5); table.add(listPlayers).pad(5); table.add(listStatus).pad(5); ChangeListener changeAll = new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { int index = ((List) actor).getSelectedIndex(); listNames.setSelectedIndex(index); listServers.setSelectedIndex(index); listPlayers.setSelectedIndex(index); listStatus.setSelectedIndex(index); ServerObj server = servers.get(index); txtJoinHostname.setText(String.format("%s:%d", server.ipAddr, server.port)); } }; listNames.addListener(changeAll); listServers.addListener(changeAll); listPlayers.addListener(changeAll); listStatus.addListener(changeAll); table.row(); lblJoinHostname = new Label("Join Server:", getSkin()); table.add(lblJoinHostname).pad(4).left(); txtJoinHostname = new TextField("", getSkin()); table.add(txtJoinHostname).pad(4).fillX().left().colspan(3); table.row(); btnCancel = new TextButton("Cancel", getSkin(), "cancel"); table.add(btnCancel).size(150, 50).pad(4); btnConnect = new TextButton("Join", getSkin()); table.add(btnConnect).size(150, 50).pad(4); btnSpectate = new TextButton("Spectate", getSkin()); table.add(btnSpectate).size(150, 50).pad(4); table.row(); lblStatus = new Label("", getSkin()); table.add(lblStatus).colspan(2).pad(4); btnCancel.addListener(new ClickListener() { /* (non-Javadoc) * @see com.badlogic.gdx.scenes.scene2d.utils.ClickListener#touchUp(com.badlogic.gdx.scenes.scene2d.InputEvent, float, float, int, int) */ @Override public void touchUp(InputEvent event, float x, float y, int pointer, int button) { super.touchUp(event, x, y, pointer, button); game.setScreen(game.getMainMenuScreen()); } }); btnConnect.addListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { super.clicked(event, x, y); Gdx.app.log(LOG, "btnConnect touched"); String host = txtJoinHostname.getText(); if (host.equals("")) { if (servers.size == 0) return; host = String.format("%s:%d", servers.get(listServers.getSelectedIndex()).ipAddr, servers.get(listServers.getSelectedIndex()).port); } GameSetupConfig cfg = new GameSetupConfig(); cfg.hostName = host.split(":")[0]; cfg.isHost = false; cfg.isMulti = true; cfg.hostPort = (host.indexOf(':') > -1 ? Integer.parseInt(host.split(":")[1]) : KryoCommon.tcpPort); cfg.playerName = game.profile.name; cfg.playerKey = (authPlayer != null ? authPlayer.key : ""); gsScreen = game.getGameSetupScreenMP(cfg); lblStatus.setText(String.format("Connecting to host %s", cfg.hostName)); Gdx.app.log(LOG, String.format("Attempting connection to host %s", cfg.hostName)); } }); btnSpectate.addListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { super.clicked(event, x, y); Gdx.app.log(LOG, "btnSpectate touched"); String host = txtJoinHostname.getText(); if (host.equals("")) { if (servers.size == 0) return; host = String.format("%s:%d", servers.get(listServers.getSelectedIndex()).ipAddr, servers.get(listServers.getSelectedIndex()).port); } GameSetupConfig cfg = new GameSetupConfig(); cfg.hostName = host.split(":")[0]; cfg.isHost = false; cfg.isMulti = true; cfg.isSpectator = true; cfg.hostPort = (host.indexOf(':') > -1 ? Integer.parseInt(host.split(":")[1]) : KryoCommon.tcpPort); cfg.playerName = game.profile.name; cfg.playerKey = (authPlayer != null ? authPlayer.key : ""); gsScreen = game.getGameSetupScreenMP(cfg); lblStatus.setText(String.format("Connecting to host %s", cfg.hostName)); Gdx.app.log(LOG, String.format("Attempting connection to host %s", cfg.hostName)); } }); servers = new Array<ServerObj>(); Net.HttpRequest httpGet = new Net.HttpRequest(Net.HttpMethods.GET); httpGet.setUrl(globalServerUrl); Gdx.net.sendHttpRequest(httpGet, new Net.HttpResponseListener() { @Override public void handleHttpResponse(Net.HttpResponse httpResponse) { String response = httpResponse.getResultAsString(); int code = httpResponse.getStatus().getStatusCode(); switch (code) { case 400: case 404: Gdx.app.log(LOG, "Server retrieval failed"); Gdx.app.log(LOG, response); break; case 200: Gdx.app.log(LOG, "Got server list"); JsonReader reader = new JsonReader(); JsonValue result = reader.parse(response); Gdx.app.log(LOG, response); for (JsonValue server : result) { if (server.getString("version", "").equals(VOBGame.VERSION)) servers.add(new ServerObj(server)); } break; default: Gdx.app.log(LOG, String.format("Unknown response code: %d", code)); Gdx.app.log(LOG, response); } updateServerList(); } @Override public void failed(Throwable t) { Gdx.app.log(LOG, "GET server request failed"); t.printStackTrace(); } }); // discover host new Thread() { public void run() { // for whatever reason, without this line the discoverHost call cant // access the network...not very forward compatible I guess System.setProperty("java.net.preferIPv4Stack", "true"); Client c = new Client(); c.start(); InetAddress iAddress = c.discoverHost(KryoCommon.udpPort, 5000); if (iAddress != null && txtJoinHostname.getText().equals("")) { // txtJoinHostname.setText(iAddress.getHostAddress()); servers.add(new ServerObj(-1, iAddress.getHostAddress(), KryoCommon.tcpPort, "LAN Server")); updateServerList(); } } }.start(); }
From source file:com.ahsgaming.valleyofbones.screens.MPGameSetupScreen.java
License:Apache License
public void setupScreen() { Label gameTypeLbl = new Label("Multiplayer", getSkin(), "medium"); Table table = new Table(getSkin()); table.setFillParent(true);// w w w. j av a 2s. co m stage.addActor(table); table.add(gameTypeLbl).colspan(2).center(); table.row().minWidth(600); Table playerTable = new Table(getSkin()); playerTable.setBackground(getSkin().getDrawable("default-pane")); playerTable.add().padBottom(10).width(30); playerTable.add().padBottom(10).width(30); playerTable.add(new Label("Name", getSkin(), "small-grey")).padBottom(10); playerTable.add(new Label("Race", getSkin(), "small-grey")).padBottom(10); playerTable.add(new Label("Color", getSkin(), "small-grey")).padBottom(10); playerTable.add(new Label("Ready", getSkin(), "small-grey")).padBottom(10).row(); pList = new Array<Player>(); pList.addAll(game.getPlayers()); for (final Player p : pList) { playerTable.add("P" + ((pList.indexOf(p, true) + 1))).padLeft(10); if (pList.indexOf(p, true) == 0) { Image host = new Image(game.getTextureManager().getSpriteFromAtlas("assets", "king-small")); playerTable.add(host).size(host.getWidth() / VOBGame.SCALE, host.getHeight() / VOBGame.SCALE) .padLeft(10).padRight(10); } else { if (config.isHost) { Image btn = getRemovePlayerButton(p.getPlayerId()); playerTable.add(btn).size(btn.getWidth() / VOBGame.SCALE, btn.getHeight() / VOBGame.SCALE) .padLeft(10).padRight(10); } else { playerTable.add().padLeft(10).padRight(10); } } playerTable.add(new Label(String.format("%s (%d)", p.getPlayerName(), p.getPlayerId()), getSkin())) .left().expandX(); if (p == client.getPlayer() || (config.isHost && p.isAI())) { SelectBox raceSelect = new SelectBox(Prototypes.getRaces().toArray(), getSkin()); playerTable.add(raceSelect).expandX(); raceSelect.setSelection(p.getRace()); raceSelect.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { KryoCommon.UpdatePlayer update = new KryoCommon.UpdatePlayer(); update.id = p.getPlayerId(); update.race = ((SelectBox) actor).getSelection(); update.color = 0; while (update.color < Player.AUTOCOLORS.length && !p.getPlayerColor().equals(Player.AUTOCOLORS[update.color])) { update.color++; } update.ready = p.isReady(); if (client instanceof MPGameClient) ((MPGameClient) client).sendPlayerUpdate(update); } }); } else { playerTable.add(p.getRace()); } Image color = new Image(getSkin().getDrawable("white-hex")); color.setColor(p.getPlayerColor()); playerTable.add(color).expandX().width(color.getWidth()); if (p == client.getPlayer() || (config.isHost && p.isAI())) { color.addListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { super.clicked(event, x, y); int i = 0; while (i < Player.AUTOCOLORS.length && !Player.AUTOCOLORS[i].equals(event.getTarget().getColor())) { i++; } i++; i %= Player.AUTOCOLORS.length; event.getTarget().setColor(Player.AUTOCOLORS[i]); KryoCommon.UpdatePlayer update = new KryoCommon.UpdatePlayer(); update.id = p.getPlayerId(); update.race = p.getRace(); update.color = i; update.ready = p.isReady(); if (client instanceof MPGameClient) ((MPGameClient) client).sendPlayerUpdate(update); } }); } CheckBox chkReady = new CheckBox("", getSkin()); playerTable.add(chkReady).expandX(); chkReady.setChecked(p.isReady()); if (p != client.getPlayer()) chkReady.setDisabled(true); chkReady.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { KryoCommon.UpdatePlayer update = new KryoCommon.UpdatePlayer(); update.id = p.getPlayerId(); update.race = p.getRace(); update.color = 0; while (update.color < Player.AUTOCOLORS.length && !p.getPlayerColor().equals(Player.AUTOCOLORS[update.color])) { update.color++; } update.ready = !p.isReady(); if (client instanceof MPGameClient) ((MPGameClient) client).sendPlayerUpdate(update); } }); playerTable.row().padBottom(5).padTop(5); } if (pList.size < 2 && config.isHost) { TextButton addAI = new TextButton(" Add AI Player ", getSkin(), "small"); addAI.addListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { super.clicked(event, x, y); game.addAIPlayer(); } }); playerTable.add(); playerTable.add(); playerTable.add(addAI).colspan(5).left(); } table.add(playerTable).fillX().colspan(2); table.row(); sList = game.getSpectators(); if (sList.keySet().size() > 0) { table.add("Spectators").colspan(2).left(); table.row(); Table spectatorTable = new Table(getSkin()); spectatorTable.setBackground(getSkin().getDrawable("default-pane")); for (Integer id : sList.keySet()) { if (config.isHost) { Image btn = getRemovePlayerButton(id); spectatorTable.add(btn).size(btn.getWidth() / VOBGame.SCALE, btn.getHeight() / VOBGame.SCALE) .padLeft(10).padRight(10); } spectatorTable.add(sList.get(id)).expandX().left(); spectatorTable.row().expandX().padBottom(5).padTop(5); } table.add(spectatorTable).fillX().colspan(2); table.row(); } ChangeListener updateListener = new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { needsUpdate = true; } }; Table setupTable = new Table(getSkin()); chkSpectators = new CheckBox(" Allow Spectators?", getSkin()); chkSpectators.setChecked(config.allowSpectate); chkSpectators.setDisabled(!config.isHost); chkSpectators.addListener(updateListener); setupTable.add(chkSpectators).colspan(2).left().padTop(4).row(); Label mapLbl = new Label("Map:", getSkin()); setupTable.add(mapLbl).left(); if (config.isHost) { needsUpdate = true; // always send an update on setup, just so we're all on the same page JsonReader reader = new JsonReader(); JsonValue val = reader.parse(Gdx.files.internal("maps/maps.json").readString()); Array<String> maps = new Array<String>(); for (JsonValue v : val) { maps.add(v.asString()); } mapSelect = new SelectBox(maps.toArray(), getSkin()); mapSelect.setSelection(config.mapName); mapSelect.addListener(updateListener); setupTable.add(mapSelect).left().padTop(4).padBottom(4).fillX(); } else { lblMap = new Label(config.mapName, getSkin()); setupTable.add(lblMap).left(); } setupTable.row(); setupTable.add("Rules:").left(); if (config.isHost) { Array<VOBGame.RuleSet> ruleSets = game.getRuleSets(); String[] items = new String[ruleSets.size]; for (int i = 0; i < ruleSets.size; i++) { items[i] = ruleSets.get(i).name; } ruleSelect = new SelectBox(items, getSkin()); setupTable.add(ruleSelect).left().padBottom(4).fillX(); ruleSelect.setSelection(config.ruleSet); ruleSelect.addListener(updateListener); } else { lblRule = new Label(game.getRuleSets().get(config.ruleSet).name, getSkin()); setupTable.add(lblRule).left(); } setupTable.row(); setupTable.add("Starting Locations:").left(); if (config.isHost) { spawnSelect = new SelectBox(spawnTypes, getSkin()); setupTable.add(spawnSelect).left().padBottom(4).fillX(); spawnSelect.setSelection(config.spawnType); spawnSelect.addListener(updateListener); } else { lblSpawn = new Label(spawnTypes[config.spawnType], getSkin()); setupTable.add(lblSpawn).left(); } setupTable.row(); setupTable.add("First Move:").left(); if (config.isHost) { moveSelect = new SelectBox(firstMoves, getSkin()); setupTable.add(moveSelect).left().padBottom(4).fillX(); moveSelect.setSelection(config.firstMove); moveSelect.addListener(updateListener); } else { lblMove = new Label(firstMoves[config.firstMove], getSkin()); setupTable.add(lblMove).left(); } setupTable.row(); setupTable.add("Timing Rules:").colspan(2).left().row(); Table timingTable = new Table(getSkin()); setupTable.add(timingTable).colspan(2).fillX(); timingTable.add("Base:").left().expandX(); if (config.isHost) { baseTime = new SelectBox(new String[] { "30", "60", "90" }, getSkin()); timingTable.add(baseTime).expandX().padLeft(4); baseTime.setSelection(Integer.toString(config.baseTimer)); baseTime.addListener(updateListener); } else { lblBaseTime = new Label(Integer.toString(config.baseTimer), getSkin()); timingTable.add(lblBaseTime).expandX().padLeft(4); } timingTable.add("Action:").left().expandX().padLeft(4); if (config.isHost) { actionTime = new SelectBox(new String[] { "0", "15", "30" }, getSkin()); timingTable.add(actionTime).expandX().padLeft(4); actionTime.setSelection(Integer.toString(config.actionBonusTime)); actionTime.addListener(updateListener); } else { lblActionTime = new Label(Integer.toString(config.actionBonusTime), getSkin()); timingTable.add(lblActionTime).expandX().padLeft(4); } timingTable.add("Unit:").left().expandX().padLeft(4); if (config.isHost) { unitTime = new SelectBox(new String[] { "0", "3", "5" }, getSkin()); timingTable.add(unitTime).expandX().padLeft(4); unitTime.setSelection(Integer.toString(config.unitBonusTime)); unitTime.addListener(updateListener); } else { lblUnitTime = new Label(Integer.toString(config.unitBonusTime), getSkin()); timingTable.add(lblUnitTime).expandX().padLeft(4); } table.add(setupTable).fillX(); Table controlTable = new Table(getSkin()); Sprite mapThumb = game.getTextureManager().getSpriteFromAtlas("assets", config.mapName); if (mapThumb != null) { controlTable.add(new Image(mapThumb)).colspan(2).row(); } if (config.isHost) { isHost = true; TextButton start = new TextButton("Start Game", getSkin()); start.addListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { super.clicked(event, x, y); if (game.getPlayers().size >= 2) game.sendStartGame(); } }); controlTable.add().expand(); controlTable.add(start).padTop(4).right(); controlTable.row(); } TextButton cancel = new TextButton("Cancel", getSkin(), "cancel"); cancel.addListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { super.clicked(event, x, y); game.setScreen(game.getMainMenuScreen()); game.closeGame(); } }); controlTable.add(); controlTable.add(cancel).fillX().padTop(4).right(); table.add(controlTable).fillX().row(); if (chatTable == null) { chatTable = new Table(getSkin()); chatScroll = new ScrollPane(chatTable, getSkin()); chatScroll.setFadeScrollBars(false); chatTable.padLeft(20); } table.add(chatScroll).colspan(2).fillX().height(100); table.row(); Table chatBox = new Table(getSkin()); final TextField chatMsgText = new TextField("", getSkin()); if (chatListener != null) { stage.removeListener(chatListener); } stage.addListener(new InputListener() { @Override public boolean keyUp(InputEvent event, int keycode) { if (stage.getKeyboardFocus() == chatMsgText && keycode == Input.Keys.ENTER && chatMsgText.getText().length() > 0) { Gdx.app.log(LOG, "Chat: " + chatMsgText.getText()); client.sendChat(chatMsgText.getText()); chatMsgText.setText(""); return false; } return super.keyUp(event, keycode); } }); chatBox.add(chatMsgText).expandX().fillX(); TextButton chatMsgSend = new TextButton("Send", getSkin(), "small"); chatMsgSend.addListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { super.clicked(event, x, y); //To change body of overridden methods use File | Settings | File Templates. if (chatMsgText.getText().length() > 0) { Gdx.app.log(LOG, "Chat: " + chatMsgText.getText()); client.sendChat(chatMsgText.getText()); chatMsgText.setText(""); } } }); chatBox.add(chatMsgSend).fillY().fillX(); table.add(chatBox).colspan(2).fillX(); chatHistory = new Array<String>(); }
From source file:com.ahsgaming.valleyofbones.screens.SPGameSetupScreen.java
License:Apache License
public void setupScreen() { Label gameTypeLbl = new Label("Single Player", getSkin(), "medium"); Table table = new Table(getSkin()); table.setFillParent(true);/*from w w w . j ava 2 s . com*/ stage.addActor(table); table.add(gameTypeLbl).colspan(2).center(); table.row().minWidth(600); Table playerTable = new Table(getSkin()); playerTable.setBackground(getSkin().getDrawable("default-pane")); playerTable.add().padBottom(10).width(30); playerTable.add().padBottom(10).width(30); playerTable.add(new Label("Name", getSkin(), "small-grey")).padBottom(10); playerTable.add(new Label("Race", getSkin(), "small-grey")).padBottom(10); playerTable.add(new Label("Color", getSkin(), "small-grey")).padBottom(10).row(); pList = new Array<Player>(); pList.addAll(game.getPlayers()); for (final Player p : pList) { playerTable.add("P" + ((pList.indexOf(p, true) + 1))).padLeft(10); if (pList.indexOf(p, true) == 0) { Image host = new Image(game.getTextureManager().getSpriteFromAtlas("assets", "king-small")); playerTable.add(host).size(host.getWidth() / VOBGame.SCALE, host.getHeight() / VOBGame.SCALE) .padLeft(10).padRight(10); } else { playerTable.add().padLeft(10).padRight(10); } playerTable.add(new Label(String.format("%s (%d)", p.getPlayerName(), p.getPlayerId()), getSkin())) .expandX().left(); SelectBox raceSelect = new SelectBox(Prototypes.getRaces().toArray(), getSkin()); playerTable.add(raceSelect).expandX(); raceSelect.setSelection(p.getRace()); raceSelect.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { p.setRace(((SelectBox) actor).getSelection()); } }); Image color = new Image(getSkin().getDrawable("white-hex")); color.setColor(p.getPlayerColor()); playerTable.add(color).expandX(); color.addListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { super.clicked(event, x, y); int i = 0; while (i < Player.AUTOCOLORS.length && !Player.AUTOCOLORS[i].equals(event.getTarget().getColor())) { i++; } i++; i %= Player.AUTOCOLORS.length; event.getTarget().setColor(Player.AUTOCOLORS[i]); p.setPlayerColor(Player.AUTOCOLORS[i]); } }); playerTable.row().padBottom(5).padTop(5); } table.add(playerTable).fillX().colspan(2); table.row(); Table setupTable = new Table(getSkin()); Label mapLbl = new Label("Map:", getSkin()); setupTable.add(mapLbl).left(); JsonReader reader = new JsonReader(); JsonValue val = reader.parse(Gdx.files.internal("maps/maps.json").readString()); Array<String> maps = new Array<String>(); for (JsonValue v : val) { maps.add(v.asString()); } mapSelect = new SelectBox(maps.toArray(), getSkin()); mapSelect.setSelection(config.mapName); config.mapName = mapSelect.getSelection(); mapSelect.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { config.mapName = ((SelectBox) actor).getSelection(); needsUpdate = true; } }); mapThumb = new Image(game.getTextureManager().getSpriteFromAtlas("assets", config.mapName)); setupTable.add(mapSelect).left().padBottom(4).padTop(4).fillX(); setupTable.row(); setupTable.add("Rules:").left(); SelectBox ruleSelect = new SelectBox(new String[] { "Classic" }, getSkin()); ruleSelect.setSelection(config.ruleSet); ruleSelect.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { config.ruleSet = ((SelectBox) actor).getSelectionIndex(); } }); setupTable.add(ruleSelect).left().padBottom(4).fillX(); setupTable.row(); setupTable.add("Starting Locations:").left(); SelectBox spawnSelect = new SelectBox(new String[] { "Normal", "Inverted", "Random" }, getSkin()); spawnSelect.setSelection(config.spawnType); spawnSelect.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { config.spawnType = ((SelectBox) actor).getSelectionIndex(); } }); setupTable.add(spawnSelect).left().padBottom(4).fillX(); setupTable.row(); setupTable.add("First Move:").left(); SelectBox moveSelect = new SelectBox(new String[] { "Random", "P1", "P2" }, getSkin()); moveSelect.setSelection(config.firstMove); moveSelect.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { config.firstMove = ((SelectBox) actor).getSelectionIndex(); } }); setupTable.add(moveSelect).left().padBottom(4).fillX(); setupTable.row(); setupTable.add("Timing Rules:").colspan(2).left().row(); Table timingTable = new Table(getSkin()); setupTable.add(timingTable).colspan(2).fillX(); timingTable.add("Base:").left().expandX(); SelectBox baseTime = new SelectBox(new String[] { "30", "60", "90" }, getSkin()); timingTable.add(baseTime).expandX(); baseTime.setSelection(Integer.toString(config.baseTimer)); baseTime.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { config.baseTimer = Integer.parseInt(((SelectBox) actor).getSelection()); } }); timingTable.add("Action:").left().expandX(); SelectBox actionTime = new SelectBox(new String[] { "0", "15", "30" }, getSkin()); timingTable.add(actionTime).expandX(); actionTime.setSelection(Integer.toString(config.actionBonusTime)); actionTime.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { config.actionBonusTime = Integer.parseInt(((SelectBox) actor).getSelection()); } }); timingTable.add("Unit:").left().expandX(); SelectBox unitTime = new SelectBox(new String[] { "0", "3", "5" }, getSkin()); timingTable.add(unitTime).expandX(); unitTime.setSelection(Integer.toString(config.unitBonusTime)); unitTime.addListener(new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { config.unitBonusTime = Integer.parseInt(((SelectBox) actor).getSelection()); } }); setupTable.row().expandX().expandY().top().left(); table.add(setupTable).fill(); Table controlTable = new Table(getSkin()); controlTable.add(mapThumb).colspan(2).row(); isHost = true; TextButton start = new TextButton("Start Game", getSkin()); start.addListener(new ClickListener() { /* (non-Javadoc) * @see com.badlogic.gdx.scenes.scene2d.utils.ClickListener#touchUp(com.badlogic.gdx.scenes.scene2d.InputEvent, float, float, int, int) */ @Override public void touchUp(InputEvent event, float x, float y, int pointer, int button) { super.touchUp(event, x, y, pointer, button); if (game.getPlayers().size >= 2) game.sendStartGame(); } }); controlTable.add().expand(); controlTable.add(start).padTop(4).right(); controlTable.row(); TextButton cancel = new TextButton("Cancel", getSkin(), "cancel"); cancel.addListener(new ClickListener() { /* (non-Javadoc) * @see com.badlogic.gdx.scenes.scene2d.utils.ClickListener#touchUp(com.badlogic.gdx.scenes.scene2d.InputEvent, float, float, int, int) */ @Override public void touchUp(InputEvent event, float x, float y, int pointer, int button) { super.touchUp(event, x, y, pointer, button); game.setScreen(game.getMainMenuScreen()); game.closeGame(); } }); controlTable.add(); controlTable.add(cancel).fillX().padTop(4); table.add(controlTable).fillX(); table.row(); }
From source file:com.ahsgaming.valleyofbones.TextureManager.java
License:Apache License
public void loadTexturePackage(String name) { map.clear();/* w ww .jav a 2s .co m*/ JsonReader jsonReader = new JsonReader(); Object rObj = jsonReader.parse(Gdx.files.internal(name + "/package.json")); ObjectMap<String, Object> mapObjs = (ObjectMap<String, Object>) rObj; for (String key : mapObjs.keys()) { ObjectMap<String, Object> createObj = (ObjectMap<String, Object>) mapObjs.get(key); String file = ""; int x = 0, y = 0, w = 0, h = 0; if (createObj.containsKey("file")) { file = name + "/" + createObj.get("file").toString(); } if (createObj.containsKey("x")) { x = (int) Float.parseFloat(createObj.get("x").toString()); } if (createObj.containsKey("y")) { y = (int) Float.parseFloat(createObj.get("y").toString()); } if (createObj.containsKey("w")) { w = (int) Float.parseFloat(createObj.get("w").toString()); } if (createObj.containsKey("h")) { h = (int) Float.parseFloat(createObj.get("h").toString()); } Gdx.app.log(LOG, String.format("Loading %s from %s", key, file)); map.put(key, loadTextureRegion(file, x, y, w, h)); } }
From source file:com.jupiter.europa.tools.AtlasPacker.java
License:Open Source License
@Override public void run() { Path configFile = FileLocations.SPRITES_DIRECTORY.resolve(CONFIGURATION_FILE); JsonReader reader = new JsonReader(); String contents = ""; try {//from w w w . jav a2 s . com contents = new String(Files.readAllBytes(configFile), StandardCharsets.UTF_8); } catch (IOException ex) { System.out.println("Atlas building failed."); return; } JsonValue value = reader.parse(contents); JsonValue atlasList = value.get("atlas"); for (int i = 0; i < atlasList.size; i++) { JsonValue currentAtlas = atlasList.get(i); String fileName = currentAtlas.getString("name"); String imageName = currentAtlas.getString("image"); int size = currentAtlas.getInt("size"); String[] rows = currentAtlas.get("rows").asStringArray(); String[] columns = currentAtlas.get("columns").asStringArray(); // String imageName = fileName.replace(".atlas", ".png"); Path output = FileLocations.SPRITES_DIRECTORY.resolve(fileName); try (BufferedWriter bw = Files.newBufferedWriter(output); PrintWriter pw = new PrintWriter(bw)) { pw.println(imageName); pw.println("format: RGBA8888"); pw.println("filter: Nearest,Nearest"); pw.println("repeat: none"); for (int row = 0; row < rows.length; row++) { for (int column = 0; column < columns.length; column++) { String patchName = rows[row] + "-" + columns[column]; int x = column * size; int y = row * size; pw.println(patchName); pw.println(" rotate: false"); pw.println(" xy: " + x + ", " + y); pw.println(" size: " + size + ", " + size); pw.println(" orig: 0, 0"); pw.println(" offset: 0, 0"); pw.println(" index: -1"); } } } catch (IOException ex) { System.out.println("Problem with atlas for " + fileName); } } TexturePacker.Settings settings = new TexturePacker.Settings(); settings.maxHeight = 2048; settings.maxWidth = 2048; TexturePacker.process(settings, MAIN_MENU_SKIN_DIRECTORY.toString(), MAIN_MENU_SKIN_DIRECTORY.toString(), "main_menu.atlas"); System.out.println("Atlas building completed."); }
From source file:com.jupiter.europa.world.World.java
License:Open Source License
public static World fromDirectory(Path dir) { World world = new World(); // Basic gist: If we are working with a directory, see if it has a subdirectory with levels in it. If so, // go through each file in that subdirectory and load a level from it, if possible if (Files.isDirectory(dir)) { Path levelDir = dir.resolve(Level.LEVEL_FOLDER); if (Files.exists(levelDir) && Files.isDirectory(levelDir)) { // Set the world's properties Path configFile = dir.resolve(WORLD_FILE_NAME); JsonReader reader = new JsonReader(); String contents;//from w w w. j a va 2 s . c om try { contents = new String(Files.readAllBytes(configFile), StandardCharsets.UTF_8); JsonValue value = reader.parse(contents); // Name if (value.has(NAME_KEY)) { world.name = value.getString(NAME_KEY); } else { world.name = DEFAULT_WORLD_NAME; } // Starting Level if (value.has(STARTING_LEVEL_KEY)) { world.startingLevelName = value.getString(STARTING_LEVEL_KEY); } else { world.startingLevelName = DEFAULT_STARTING_LEVEL; } } catch (Exception ex) { // Set default properties world.name = DEFAULT_WORLD_NAME; world.startingLevelName = DEFAULT_STARTING_LEVEL; } // Loop through all levels in the directory try (DirectoryStream<Path> paths = Files.newDirectoryStream(levelDir)) { paths.iterator().forEachRemaining((Path file) -> { if (FileUtils.getExtension(file).equalsIgnoreCase(Level.LEVEL_EXTENSION)) { TiledMap map = EuropaGame.game.getAssetManager().get(file.toString(), TiledMap.class); String name = file.getFileName().toString().replace("." + Level.LEVEL_EXTENSION, ""); world.addLevel(new Level(name, map, world)); } }); } catch (IOException ex) { } } } return world; }
From source file:com.maplescot.loggerbill.gpg.AchievementManager.java
License:Creative Commons License
public void init() { JsonReader jsonReader = new JsonReader(); JsonValue values = jsonReader.parse(Gdx.files.internal(Constants.ACHIEVEMENTS)); for (JsonValue value = values.child; value != null; value = value.next) { if (value.type() == JsonValue.ValueType.object) { String objectName = value.name(); Achievement achievement = null; try { //achievement = (Achievement) ClassReflection.forName(objectName); achievement = (Achievement) ClassReflection.newInstance(ClassReflection.forName(objectName)); } catch (ReflectionException e) { e.printStackTrace();// w w w.j av a2 s .co m } achievement.init(value.get("id").asString(), value.get("name").asString(), value.get("desc").asString(), value.get("type").asString(), value.get("test").asString(), value.get("value").asFloat(), value.get("incremental").asBoolean()); Gdx.app.debug(TAG, achievement.toString()); achievements.add(achievement); } } }
From source file:com.maplescot.loggerbill.gpg.LeaderboardManager.java
License:Creative Commons License
public void init() { JsonReader jsonReader = new JsonReader(); JsonValue values = jsonReader.parse(Gdx.files.internal(Constants.LEADERBOARDS)); for (JsonValue value : values) { Leaderboard l = new Leaderboard(value.get("id").asString(), value.get("name").asString()); leaderboards.add(l);//from w w w . j a va 2s . c o m } }
From source file:com.mbrlabs.mundus.runtime.SceneLoader.java
License:Apache License
public Scene load(String name) { final JsonReader reader = new JsonReader(); final JsonValue json = reader.parse(root.child(name)); Scene scene = new Scene(); scene.setId(json.getInt(JsonScene.ID)); scene.setName(json.getString(JsonScene.NAME)); // game objects for (JsonValue go : json.get(JsonScene.GAME_OBJECTS)) { scene.sceneGraph.addGameObject(convertGameObject(scene.sceneGraph, go)); }/*from w w w.jav a2 s . com*/ return scene; }