List of usage examples for com.badlogic.gdx.graphics Color YELLOW
Color YELLOW
To view the source code for com.badlogic.gdx.graphics Color YELLOW.
Click Source Link
From source file:gui.screen.MainPlayerHud.java
public MainPlayerHud(final EntityManager entityManager, Game game, Server server, Client client, final MapLoader map, OrthographicCamera camera) { super(game, client, server); deathMessageArray = new ArrayList<>(); textMessageArray = new ArrayList<>(); //Initialise Objects this.stage = new Stage(new StretchViewport(Constants.SCREENWIDTH, Constants.SCREENHEIGHT)); this.stack = new Stack(); //A container in wich you can place multiple widgets to "stack" them this.touchTable.setSize(stage.getWidth(), stage.getHeight()); this.camera = camera; touchTable.setTouchable(Touchable.enabled); stage.addActor(touchTable);//from ww w . ja va 2 s. c om this.entityManager = entityManager; //Initialise Font this.generator = new FreeTypeFontGenerator(Gdx.files.internal("fonts/lunchtime-doubly-so/lunchds.ttf")); this.parameter = new FreeTypeFontParameter(); parameter.size = 15; //Table settings Table backgroundTable = new Table(); backgroundTable.top(); backgroundTable.setFillParent(true); //Table settings 2 Table foregroundTable = new Table(); foregroundTable.top(); foregroundTable.setFillParent(true); /**------------------------EXIT DIALOG------------------------**/ exitDialog = new Dialog("Confirm exit", TextureManager.skin) { @Override public void result(Object obj) { boolean result = (boolean) obj; if (result == true) { //Stop music AudioManager.getCurrentMusic().stop(); quitGame(); } else { Gdx.input.setCursorCatched(true); } } }; exitDialog.text("Are you sure you want to quit?"); exitDialog.button("Yes", true); //sends "true" as the result exitDialog.button("No", false); //sends "false" as the result if (Constants.ISRUNNINGONSMARTPHONE && Constants.TOUCHSCREEN) { touchTable.addListener(new InputListener() { @Override public boolean touchDown(InputEvent event, float x, float y, int pointer, int buttonCode) { Player player = entityManager.getPlayerManager().getCurrentPlayerObject(); if (player != null) { // Calculate correct world position ThinGridCoordinates aim = new ThinGridCoordinates( player.getPosition().getX() + (x - touchTable.getWidth() / 2f), player.getPosition().getY() + (y - touchTable.getHeight() / 2f)); aim = new ThinGridCoordinates(aim.getX() - (x - touchTable.getWidth() / 2f) / 3.5f, aim.getY() - (y - touchTable.getHeight() / 2f) / 3.5f); // Change to block center ThinGridCoordinates blockCenter = new ThinGridCoordinates(new MapCellCoordinates(aim)); aim.setX(blockCenter.getX() + (Constants.MAPTEXTUREWIDTH - Constants.PLAYERWIDTH) / 2); aim.setY( blockCenter.getY() + (Constants.MAPTEXTUREHEIGHT - Constants.PLAYERHEIGHT / 4) / 2); goToCoordiantes = aim; } return true; } @Override public void touchDragged(InputEvent event, float x, float y, int pointer) { Player player = entityManager.getPlayerManager().getCurrentPlayerObject(); if (player != null) { // Calculate correct world position ThinGridCoordinates aim = new ThinGridCoordinates( player.getPosition().getX() + (x - touchTable.getWidth() / 2f), player.getPosition().getY() + (y - touchTable.getHeight() / 2f)); aim = new ThinGridCoordinates(aim.getX() - (x - touchTable.getWidth() / 2f) / 3.5f, aim.getY() - (y - touchTable.getHeight() / 2f) / 3.5f); // Change to block center ThinGridCoordinates blockCenter = new ThinGridCoordinates(new MapCellCoordinates(aim)); aim.setX(blockCenter.getX() + (Constants.MAPTEXTUREWIDTH - Constants.PLAYERWIDTH) / 2); aim.setY( blockCenter.getY() + (Constants.MAPTEXTUREHEIGHT - Constants.PLAYERHEIGHT / 4) / 2); goToCoordiantes = aim; } } @Override public void touchUp(InputEvent event, float x, float y, int pointer, int button) { } }); } /*-------------------------MOVEMENT TOUCHPAD--------------------------*/ if (Constants.ISRUNNINGONSMARTPHONE && Constants.TOUCHPAD) { //Create a touchpad skin touchpadSkin = new Skin(); //Set background image touchpadSkin.add("touchBackground", new Texture("hud/touchBackground.png")); //Set knob image touchpadSkin.add("touchKnob", new Texture("hud/touchKnob.png")); //Create TouchPad Style touchpadStyle = new Touchpad.TouchpadStyle(); //Create Drawable's from TouchPad skin touchBackground = touchpadSkin.getDrawable("touchBackground"); touchKnob = touchpadSkin.getDrawable("touchKnob"); //Apply the Drawables to the TouchPad Style touchpadStyle.background = touchBackground; touchpadStyle.knob = touchKnob; //Create new TouchPad with the created style touchpad = new Touchpad(10, touchpadStyle); //setBounds(x,y,width,height) touchpad.setBounds(15, 15, 150, 150); stage.addActor(touchpad); touchpad.addListener(new InputListener() { @Override public boolean touchDown(InputEvent event, float screenX, float screenY, int pointer, int buttonCode) { return true; } @Override public void touchDragged(InputEvent event, float screenX, float screenY, int pointer) { ThinGridCoordinates aim = null; Player player = entityManager.getPlayerManager().getCurrentPlayerObject(); if (player != null) { // Left if (touchpad.getKnobPercentX() < -0.5) { float x = 370; float y = 250; // Calculate correct world position aim = new ThinGridCoordinates( player.getPosition().getX() + (x - touchTable.getWidth() / 2f), player.getPosition().getY() + (y - touchTable.getHeight() / 2f)); aim = new ThinGridCoordinates(aim.getX() - (x - touchTable.getWidth() / 2f) / 3.5f, aim.getY() - (y - touchTable.getHeight() / 2f) / 3.5f); //Right } else if (touchpad.getKnobPercentX() > 0.5) { float x = 460; float y = 250; // Calculate correct world position aim = new ThinGridCoordinates( player.getPosition().getX() + (x - touchTable.getWidth() / 2f), player.getPosition().getY() + (y - touchTable.getHeight() / 2f)); aim = new ThinGridCoordinates(aim.getX() - (x - touchTable.getWidth() / 2f) / 3.5f, aim.getY() - (y - touchTable.getHeight() / 2f) / 3.5f); } // Down if (touchpad.getKnobPercentY() < -0.5) { float x = 415; float y = 200; // Calculate correct world position aim = new ThinGridCoordinates( player.getPosition().getX() + (x - touchTable.getWidth() / 2f), player.getPosition().getY() + (y - touchTable.getHeight() / 2f)); aim = new ThinGridCoordinates(aim.getX() - (x - touchTable.getWidth() / 2f) / 3.5f, aim.getY() - (y - touchTable.getHeight() / 2f) / 3.5f); // Up } else if (touchpad.getKnobPercentY() > 0.5) { float x = 415; float y = 300; // Calculate correct world position aim = new ThinGridCoordinates( player.getPosition().getX() + (x - touchTable.getWidth() / 2f), player.getPosition().getY() + (y - touchTable.getHeight() / 2f)); aim = new ThinGridCoordinates(aim.getX() - (x - touchTable.getWidth() / 2f) / 3.5f, aim.getY() - (y - touchTable.getHeight() / 2f) / 3.5f); } if (aim != null) { // Change to block center ThinGridCoordinates blockCenter = new ThinGridCoordinates(new MapCellCoordinates(aim)); aim.setX(blockCenter.getX() + (Constants.MAPTEXTUREWIDTH - Constants.PLAYERWIDTH) / 2); aim.setY(blockCenter.getY() + (Constants.MAPTEXTUREHEIGHT - Constants.PLAYERHEIGHT / 4) / 2); } goToCoordiantes = aim; } } @Override public void touchUp(InputEvent event, float x, float y, int pointer, int button) { InputHandler.setAnyKey(false); InputHandler.resetMovementKeys(); } }); } /*-------------------------ACTION TOUCHPAD--------------------------*/ if (Constants.ISRUNNINGONSMARTPHONE) { Table table = new Table(); table.setFillParent(true); table.right().bottom().toFront(); /*-------------------------PLACE BOMB--------------------------*/ placeBombButton.addListener(new InputListener() { @Override public boolean touchDown(InputEvent event, float screenX, float screenY, int pointer, int buttonCode) { InputHandler.setAnyKey(true); InputHandler.setPlaceBombKey(true); return true; } @Override public void touchUp(InputEvent event, float x, float y, int pointer, int button) { InputHandler.setAnyKey(false); InputHandler.setPlaceBombKey(false); } }); placeBombButton.setSize(100, 100); table.add(placeBombButton).size(placeBombButton.getWidth(), placeBombButton.getHeight()).padBottom(10) .padRight(10); stage.addActor(table); /*-------------------------TRIGGER REMOTE BUTTON--------------------------*/ Table table1 = new Table(); table1.right().bottom().toFront(); triggerRemoteButton.addListener(new InputListener() { @Override public boolean touchDown(InputEvent event, float screenX, float screenY, int pointer, int buttonCode) { InputHandler.setAnyKey(true); InputHandler.setRemoteKey(true); return true; } @Override public void touchUp(InputEvent event, float x, float y, int pointer, int button) { InputHandler.setAnyKey(false); InputHandler.setRemoteKey(false); } }); triggerRemoteButton.setSize(60, 60); table1.add(triggerRemoteButton).size(triggerRemoteButton.getWidth(), triggerRemoteButton.getHeight()); table1.setPosition(685, 80); stage.addActor(table1); /*-------------------------TELEPORT BUTTON--------------------------*/ Table table2 = new Table(); table1.right().bottom().toFront(); teleportButton.addListener(new InputListener() { @Override public boolean touchDown(InputEvent event, float screenX, float screenY, int pointer, int buttonCode) { InputHandler.setAnyKey(true); InputHandler.setTeleportKey(true); return true; } @Override public void touchUp(InputEvent event, float x, float y, int pointer, int button) { InputHandler.setAnyKey(false); InputHandler.setTeleportKey(false); } }); teleportButton.setSize(60, 60); table2.add(teleportButton).size(teleportButton.getWidth(), teleportButton.getHeight()); table2.setPosition(Constants.SCREENWIDTH - 65, 155); stage.addActor(table2); } /*-------------------------RESIZE ELEMENTS IN HUD--------------------------*/ if (Constants.ISRUNNINGONSMARTPHONE) { scaleCounterHud = 4; // Default 3 scaleInventoryImg = 1.8f; // Default 1.5 addToPositionX = 20; // Default -2 scaleTextMessage = 6; // Default 5 Constants.DEFAULTZOOM = 0.7f; // Default 1f } /*-------------------------GO BACK TO MENU BUTTON--------------------------*/ if (Constants.ISRUNNINGONSMARTPHONE) { Table table = new Table(); goToMenuButton.addListener(new InputListener() { @Override public boolean touchDown(InputEvent event, float screenX, float screenY, int pointer, int buttonCode) { InputHandler.setAnyKey(true); InputHandler.setEscKey(true); return true; } @Override public void touchUp(InputEvent event, float x, float y, int pointer, int button) { InputHandler.setAnyKey(false); InputHandler.setEscKey(false); } }); goToMenuButton.setSize(70, 70); table.add(goToMenuButton).size(goToMenuButton.getWidth(), goToMenuButton.getHeight()); table.setSize(goToMenuButton.getWidth(), goToMenuButton.getHeight()); table.padTop(40); table.padRight(40); table.setPosition(Constants.SCREENWIDTH - table.getWidth(), Constants.SCREENHEIGHT - table.getHeight()); stage.addActor(table); } /*-------------------------SCREEN MESSAGE--------------------------*/ Table messageLabel = new Table(); messageLabel.setFillParent(true); messageLabel.right(); parameter.size = 4 * (int) scaleTextMessage; deathMessageLabel = new Label("", new Label.LabelStyle(generator.generateFont(parameter), Color.valueOf("f7472c"))); deathMessageLabel.setAlignment(Align.center); deathMessageLabel.setSize(200, 50); messageLabel.add(deathMessageLabel); textMessageLabel = new Label("", new Label.LabelStyle(generator.generateFont(parameter), Color.YELLOW)); textMessageLabel.setAlignment(Align.center); textMessageLabel.setSize(200, 50); messageLabel.add(textMessageLabel); stage.addActor(messageLabel); /*-------------------------LIFE & COUNTER HUD--------------------------*/ parameter.size = 5 * (int) scaleCounterHud; //Labels (textfields) bombCounterLabel = new Label("000", new Label.LabelStyle(generator.generateFont(parameter), Color.WHITE)); coinCounterLabel = new Label("000", new Label.LabelStyle(generator.generateFont(parameter), Color.WHITE)); speedCounterLabel = new Label("000", new Label.LabelStyle(generator.generateFont(parameter), Color.WHITE)); rangeCounterLabel = new Label("000", new Label.LabelStyle(generator.generateFont(parameter), Color.WHITE)); //Live & coins display image uiCounterImage = new Image(TextureManager.hudCounterFullLive); //Calculate image width (scaledCounterX) and image height (scaleY) float scaledCounterX = TextureManager.hudCounterFullLive.getWidth() * scaleCounterHud; float scaledCounterY = TextureManager.hudCounterFullLive.getHeight() * scaleCounterHud; //Add image to background messageLabel backgroundTable.add(uiCounterImage).width(scaledCounterX).height(scaledCounterY); //Add label to foreground messageLabel foregroundTable.row().expandX().padTop(8 * scaleCounterHud); foregroundTable.add(bombCounterLabel).padLeft(40 * scaleCounterHud); foregroundTable.add(coinCounterLabel).padLeft(16 * scaleCounterHud); foregroundTable.add(rangeCounterLabel).padLeft(13 * scaleCounterHud); foregroundTable.add(speedCounterLabel).padLeft(18 * scaleCounterHud); //Set container to the height of the image and position it on the top left stack.setWidth(scaledCounterX); stack.setHeight(scaledCounterY); stack.setPosition(0, 470 - scaledCounterY); //End messageLabel and container (stack) stack.add(backgroundTable); stack.add(foregroundTable); stage.addActor(stack); /*-------------------------BOMB INVENTORY HUD--------------------------*/ // Inventory Image uiInventoryImage = new Image(TextureManager.hudInventoryHiglighted1); uiInventoryImage.setWidth(280 * scaleInventoryImg);// 1,5x bigger uiInventoryImage.setHeight(32 * scaleInventoryImg); uiInventoryImage.setPosition((Constants.SCREENWIDTH - uiInventoryImage.getWidth()) / 2 + addToPositionX, 5); stage.addActor(uiInventoryImage); // Price labels bombPrice1 = new Label("000", new Label.LabelStyle(generator.generateFont(parameter), Color.GOLD)); bombPrice2 = new Label("000", new Label.LabelStyle(generator.generateFont(parameter), Color.GOLD)); bombPrice3 = new Label("000", new Label.LabelStyle(generator.generateFont(parameter), Color.GOLD)); bombPrice4 = new Label("000", new Label.LabelStyle(generator.generateFont(parameter), Color.GOLD)); bombPrice5 = new Label("000", new Label.LabelStyle(generator.generateFont(parameter), Color.GOLD)); bombPrice6 = new Label("000", new Label.LabelStyle(generator.generateFont(parameter), Color.GOLD)); bombPrice7 = new Label("000", new Label.LabelStyle(generator.generateFont(parameter), Color.GOLD)); bombPrice8 = new Label("000", new Label.LabelStyle(generator.generateFont(parameter), Color.GOLD)); bombPrice9 = new Label("000", new Label.LabelStyle(generator.generateFont(parameter), Color.GOLD)); Table pricesTable = new Table(); pricesTable.setFillParent(true); //31x31 pricesTable.add(bombPrice1).width(31 * scaleInventoryImg).height(31 * scaleInventoryImg); pricesTable.add(bombPrice2).width(31 * scaleInventoryImg).height(31 * scaleInventoryImg); pricesTable.add(bombPrice3).width(31 * scaleInventoryImg).height(31 * scaleInventoryImg); pricesTable.add(bombPrice4).width(31 * scaleInventoryImg).height(31 * scaleInventoryImg); pricesTable.add(bombPrice5).width(31 * scaleInventoryImg).height(31 * scaleInventoryImg); pricesTable.add(bombPrice6).width(31 * scaleInventoryImg).height(31 * scaleInventoryImg); pricesTable.add(bombPrice7).width(31 * scaleInventoryImg).height(31 * scaleInventoryImg); pricesTable.add(bombPrice8).width(31 * scaleInventoryImg).height(31 * scaleInventoryImg); pricesTable.add(bombPrice9).width(31 * scaleInventoryImg).height(31 * scaleInventoryImg); pricesLabelGroup.addActor(pricesTable); pricesLabelGroup.setPosition((Constants.SCREENWIDTH - pricesLabelGroup.getWidth()) / 2 + addToPositionX + 3, 15); stage.addActor(pricesLabelGroup); if (Constants.ISRUNNINGONSMARTPHONE) { Table touchTable = new Table(); touchTable.add(getContainerWithBombListener(1)).width(31 * scaleInventoryImg) .height(31 * scaleInventoryImg); touchTable.add(getContainerWithBombListener(2)).width(31 * scaleInventoryImg) .height(31 * scaleInventoryImg); touchTable.add(getContainerWithBombListener(3)).width(31 * scaleInventoryImg) .height(31 * scaleInventoryImg); touchTable.add(getContainerWithBombListener(4)).width(31 * scaleInventoryImg) .height(31 * scaleInventoryImg); touchTable.add(getContainerWithBombListener(5)).width(31 * scaleInventoryImg) .height(31 * scaleInventoryImg); touchTable.add(getContainerWithBombListener(6)).width(31 * scaleInventoryImg) .height(31 * scaleInventoryImg); touchTable.add(getContainerWithBombListener(7)).width(31 * scaleInventoryImg) .height(31 * scaleInventoryImg); touchTable.add(getContainerWithBombListener(8)).width(31 * scaleInventoryImg) .height(31 * scaleInventoryImg); touchTable.add(getContainerWithBombListener(9)).width(31 * scaleInventoryImg) .height(31 * scaleInventoryImg); touchTable.setPosition((Constants.SCREENWIDTH - touchTable.getWidth()) / 2 + addToPositionX, 35); stage.addActor(touchTable); } generator.dispose(); }
From source file:im.ligas.worms.worm.WormFactory.java
License:Open Source License
public static WormWithAbility getReverseWorm(Vector2 start, int keyLeft, int keyRight, int keyExecute) { return new ReverseWormImpl(start, Color.YELLOW, (byte) 2, keyLeft, keyRight, keyExecute); }
From source file:io.lonelyrobot.empires.cl.gl.CoreClient.java
License:Open Source License
@Override public void render() { Gdx.gl.glClearColor(0, 0, 0, 1);// www . j a va 2s .com Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); Gdx.gl.glEnable(GL20.GL_BLEND); Gdx.gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA); Gdx.gl.glDisable(GL20.GL_BLEND); // camera.position.z = -50; // camera.update(); system.update(0); renderer.setProjectionMatrix(camera.combined); renderer.setColor(Color.YELLOW); renderer.begin(ShapeType.Filled); // renderer.circle(0, 0, 25); star.draw(renderer, 75); renderer.setColor(Color.GREEN); planet.draw(renderer, 25); renderer.setColor(Color.BROWN); pl2.draw(renderer, 30); renderer.end(); // renderer.setColor(Color.WHITE); // // camera.position.x = 0; // camera.position.y = 0; // camera.position.z = 0; // // camera.update(); // renderer.setProjectionMatrix(camera.combined); // // renderer.begin(ShapeType.Filled); // renderer.circle(250, 250, 500); // // renderer.end(); // // try { // Thread.sleep(150); // } catch (InterruptedException e) { // e.printStackTrace(); // } }
From source file:io.lonelyrobot.empires.client.screens.overlay.ServerManageOverlay.java
License:Apache License
private void updateServerUI() { stage.clear();/* www .j a va2 s .c o m*/ serverName = new TextField("", Assets.R2_UI_SKIN); serverName.setMessageText("Server Name"); serverURL = new TextField("", Assets.R2_UI_SKIN); serverURL.setMessageText("Server URL"); serverPortA = new TextField("", Assets.R2_UI_SKIN); serverPortA.setMessageText("TCP Port"); serverPortB = new TextField("", Assets.R2_UI_SKIN); serverPortB.setMessageText("UDP Port"); addServer = new TextButton("+", Assets.R2_UI_SKIN); addServer.setColor(Color.GREEN); resetServers = new TextButton("Revert Settings", Assets.R2_UI_SKIN); resetServers.setColor(Color.YELLOW); removeServers = new TextButton("Remove selected", Assets.R2_UI_SKIN); save = new TextButton("Apply", Assets.R2_UI_SKIN); cancel = new TextButton("Cancel", Assets.R2_UI_SKIN); header = new Label("Manage Servers", Assets.R2_UI_SKIN); header.setFontScale(2f); main = new Table(); main.setFillParent(true); main.center(); main.add(header).colspan(5).padBottom(Values.R2_UI_PIXEL_PAD_SMALL); main.row(); main.add(serverName).padBottom(Values.R2_UI_PIXEL_PAD_SMALL); main.add(serverURL).padBottom(Values.R2_UI_PIXEL_PAD_SMALL); main.add(serverPortA).width(100f).padBottom(Values.R2_UI_PIXEL_PAD_SMALL); main.add(serverPortB).width(100f).padBottom(Values.R2_UI_PIXEL_PAD_SMALL); main.add(addServer).width(25f).padBottom(Values.R2_UI_PIXEL_PAD_SMALL); main.row(); if (!servers.isEmpty()) for (ServerCombo sc : servers.values()) { // main.add(sc.getLabel()).colspan(4).left(); // main.add(sc.getBox()).colspan(1).right(); main.row(); } else { main.add(new Label("> No servers registered. Check 'empires.2rsoftworks.de/servers' for help", Assets.R2_UI_SKIN)).colspan(5).left(); main.row(); } Table subrow = new Table(); float bottomrow = 175f; subrow.add(cancel).minWidth(bottomrow); subrow.add(save).minWidth(bottomrow); subrow.add(removeServers).minWidth(bottomrow); subrow.row(); subrow.add(); subrow.add(); subrow.add(resetServers).minWidth(bottomrow); main.add(subrow).colspan(5).fillX().padTop(Values.R2_UI_PIXEL_PAD_MEDIUM); main.add(); stage.addActor(main); setupListeners(); }
From source file:io.piotrjastrzebski.dungen.DungeonGenerator.java
License:Apache License
public void render(ShapeRenderer renderer, OrthographicCamera camera) { if (drawSettings.drawBodies) { b2dd.render(b2d, camera.combined); }/* w w w .j av a 2 s .c o m*/ if (mainRooms.size == 0) { renderer.setColor(0.4f, 0.2f, 0.1f, 1); for (Room room : rooms) { room.draw(renderer); } } float size = settings.getGridSize(); if (drawSettings.drawUnused) { renderer.setColor(0.3f, 0.3f, 0.3f, 1); for (Room room : rooms) { if (room.isUnused()) { room.draw(renderer); } } } if (drawSettings.drawExtra) { renderer.setColor(0.8f, 0.8f, 0.8f, 1); for (Room room : rooms) { if (room.isExtra) { room.draw(renderer); } } } if (drawSettings.drawHallWays) { renderer.setColor(0.2f, 0.4f, 1, 1); for (Room room : rooms) { if (room.isHallway) { room.draw(renderer); } } } if (drawSettings.drawMain) { for (Room room : rooms) { if (room.isMain) { renderer.setColor(1, 0.2f, 0.1f, 1); room.draw(renderer); } } } if (settled && mainRooms.size == 0) { float mw = settings.getRoomWidth() * settings.getMainRoomScale(); float mh = settings.getRoomHeight() * settings.getMainRoomScale(); for (Room room : rooms) { map.merge(room.bounds); if (room.bounds.width >= mw && room.bounds.height >= mh) { room.isMain = true; mainRooms.add(room); } } // extend map bounds by 1 tile in all directions map.x -= size; map.y -= size; map.width += size * 2; map.height += size * 2; // sort so main rooms are drawn lsat rooms.sort(new Comparator<Room>() { @Override public int compare(Room o1, Room o2) { int main = Boolean.compare(o1.isMain, o2.isMain); if (main != 0) { return main; } return Boolean.compare(o1.isHallway, o2.isHallway); } }); triangulate(); } graph.render(renderer, drawSettings.drawEdges, drawSettings.drawMinSpanTree, size); if (drawSettings.drawHallWayPaths) { renderer.setColor(Color.YELLOW); for (HallwayPath path : paths) { path.draw(renderer); } } if (drawSettings.drawSpawnArea) { Gdx.gl.glEnable(GL20.GL_BLEND); renderer.setColor(1, 1, 1, 0.5f); renderer.ellipse(-settings.getSpawnWidth() / 2, -settings.getSpawnHeight() / 2, settings.getSpawnWidth(), settings.getSpawnHeight()); } }
From source file:jordanlw.gdxGame.Game.java
License:Open Source License
public void render() { Vector2 bulletVector = new Vector2(); Vector2 relativeMousePosition = new Vector2(); Vector2 distanceToMouse = new Vector2(); Boolean gunFiredThisFrame = false; float delta = Gdx.graphics.getDeltaTime(); movementThisFrame = false;//from w ww .j a va 2s .c o m Gdx.gl.glClearColor(0, 0, 0, 0); Gdx.gl.glClear(0); handleEnemyWaves(); //Handle player wanting to pause if (Gdx.input.isKeyJustPressed(Input.Keys.P)) { if (gamePaused) { if (!isGameCreated) { setupGame(); } gamePaused = false; aMusicLibrary.backgroundMusic.play(); } else { gamePaused = true; aMusicLibrary.backgroundMusic.pause(); } } //Does the user want multiplayer? if (Gdx.input.isKeyJustPressed(Input.Keys.M)) { NetworkSetup.getTextInput("Multiplayer Network Address"); } if (Gdx.input.isKeyJustPressed(Input.Keys.H)) { NetworkSetup.getAnswer("Host Multiplayer?"); } if (!gamePaused) { totalTime += delta; for (Player player : players) { player.secondsDamaged -= delta; } //Update player rotation wrt mouse position getLocalPlayer().rotation = (float) Mouse .angleBetween(getLocalPlayer().position.getPosition(new Vector2())); Zombie.zombeGroanSoundTimer += delta; if (Zombie.zombeGroanSoundTimer > 6f) { int index = (int) (Math.random() * (aMusicLibrary.zombieSounds.length - 1)); aMusicLibrary.zombieSounds[index].setVolume(aMusicLibrary.zombieSounds[index].play(), 0.5f * volume); Zombie.zombeGroanSoundTimer = 0; } handleInput(relativeMousePosition, mousePressedPosition, distanceToMouse, bulletVector); //Anything serverside eg. enemy movement, medkit respawning. if (isServer) { if (!aMusicLibrary.backgroundMusic.isPlaying()) { for (Player player : players) { player.health = 0; } } for (Player player : players) { medkit.time += delta; if (medkit.time > Medkit.SECS_TILL_DISAPPEAR && medkit.health <= 0) { medkit.health = Medkit.healthGiven; medkit.position.setPosition((float) (camera.viewportWidth * Math.random()), (float) (camera.viewportHeight * Math.random())); } else if (medkit.time >= Medkit.SECS_TILL_DISAPPEAR && player.position.overlaps(medkit.position)) { player.health += medkit.health; medkit.health = 0; medkit.time = 0; aMusicLibrary.medkitSound.play(0.3f * volume); if (player.health > 100) { player.health = 100; } } for (Zombie enemy : enemies) { if (enemy.health <= 0) { continue; } enemy.secondsDamaged -= delta; Vector2 vecPlayer = new Vector2(); Vector2 vecEnemy = new Vector2(); enemy.position.getPosition(vecEnemy); player.position.getPosition(vecPlayer); Vector2 tmpEnemy = new Vector2( vecPlayer.sub(vecEnemy).nor().scl(delta * enemy.walkingSpeed)); if (player.position.getPosition(new Vector2()) .dst(enemy.position.getPosition(new Vector2())) < 300) { tmpEnemy.rotate(enemy.swarmAngle); } enemy.rotation = tmpEnemy.angle(); tmpEnemy.add(enemy.position.x, enemy.position.y); enemy.position.setPosition(tmpEnemy); } } } //Respond to player pressing mouse button if (mousePressedPosition.x != -1 && mousePressedPosition.y != -1 && getLocalPlayer().health > 0) { //Gun sound for player if (totalTime > timeGunSound) { timeGunSound = totalTime + 0.5f; aMusicLibrary.gunSound.play(0.25f * volume); //aMusicLibrary.gunSound.setPitch(soundId, 1 + (long) (0.3f * Math.random())); gunFiredThisFrame = true; shootingTime = torsoAnimLength; Collections.sort(enemies, new ZombieDistance()); for (Zombie enemy : enemies) { if (enemy.health <= 0) { continue; } Vector2 vecPlayer = new Vector2(); getLocalPlayer().position.getCenter(vecPlayer); float angle = (float) Mouse.angleBetween(vecPlayer); Vector2 vecAngle = new Vector2(vecPlayer); Vector2 tmp = new Vector2(1, 1); tmp.setAngle(angle).nor().scl(98765); vecAngle.add(tmp); if (Intersector.intersectSegmentCircle(vecPlayer, vecAngle, enemy.position.getCenter(new Vector2()), (enemy.position.width / 2) * (enemy.position.width / 2))) { enemy.secondsDamaged = 0.5f; enemy.health -= 35; if (enemy.health <= 0) { gold.saveEnemy(currentWave, enemies.indexOf(enemy)); } break; } } } } } camera.update(); batch.setProjectionMatrix(camera.combined); batch.begin(); batch.setColor(Color.WHITE); for (int width = 0; width < windowSize.x; width += backgroundTexture.getWidth()) { for (int height = 0; height < windowSize.y; height += backgroundTexture.getHeight()) { batch.draw(backgroundTexture, width, height); } } medkit.draw(batch); gold.draw(batch); //Draw enemies for (Zombie enemy : enemies) { enemy.draw(batch, totalTime); } batch.setColor(Color.WHITE); for (Player player : players) { player.draw(batch, totalTime, delta); } if (getLocalPlayer().health <= 0) { batch.draw(gameOverTexture, camera.viewportWidth / 2 - gameOverTexture.getWidth() / 2, camera.viewportHeight / 2 - gameOverTexture.getHeight() / 2); } else if (gamePaused) { batch.draw(gameStartTexture, camera.viewportWidth / 2 - gameStartTexture.getWidth() / 2, camera.viewportHeight / 2 - gameStartTexture.getHeight() / 2); } batch.setColor(Color.YELLOW); if (gunFiredThisFrame) { //noinspection SuspiciousNameCombination batch.draw(singlePixel, getLocalPlayer().position.x, getLocalPlayer().position.y, 0, 0, 1, 1, 1, distanceToMouse.x, 180 + (float) Math.toDegrees( Math.atan2((double) relativeMousePosition.x, (double) relativeMousePosition.y))); } batch.end(); isLeftMousePressedThisFrame = false; mousePressedPosition.set(-1, -1); }
From source file:kyle.game.besiege.panels.BottomPanel.java
License:Open Source License
public static void log(String text, String color) { Color fontColor;//from ww w . j a v a2 s . co m if (color == "red") fontColor = new Color(230 / 255f, 0, 15 / 255f, 1); else if (color == "orange") fontColor = new Color(1, 60 / 255f, 0, 1); else if (color == "yellow") fontColor = Color.YELLOW; else if (color == "cyan") fontColor = Color.CYAN; else if (color == "magenta") fontColor = Color.MAGENTA; else if (color == "white") fontColor = Color.WHITE; else if (color == "green") fontColor = Color.GREEN; else if (color == "blue") fontColor = new Color(0, 70 / 255f, 1, 1); else if (color == "purple") fontColor = new Color(168 / 255f, 0, 1, 1); else fontColor = Color.WHITE; LabelStyle lsNew = new LabelStyle(ls); lsNew.fontColor = fontColor; Label temp = new Label(text, lsNew); // Memory leak, should change to have 4 or 5 fixed colors so new one is not created everytime. logTable.row(); logTable.add(temp); logging = 0; ls.fontColor = Color.WHITE; }
From source file:kyle.game.besiege.panels.PanelBattle.java
License:Open Source License
public PanelBattle(SidePanel panel, Battle battle) { this.panel = panel; this.battle = battle; this.addParentPanel(panel); LabelStyle lsBig = new LabelStyle(); lsBig.font = Assets.pixel24;/*from w w w . j a va 2s .co m*/ LabelStyle lsFaction = new LabelStyle(); lsFaction.font = Assets.pixel16neg; ls = new LabelStyle(); ls.font = Assets.pixel16neg; lsRetreat = new LabelStyle(); lsRetreat.font = Assets.pixel13neg; lsRetreat.fontColor = Color.YELLOW; lsSmall = new LabelStyle(); lsSmall.font = Assets.pixel13neg; lsSmallG = new LabelStyle(); lsSmallG.font = Assets.pixel13neg; lsSmallG.fontColor = Color.GRAY; title = new Label("Battle!", lsBig); // Label vsC = new Label("vs", ls); Label trpsAC = new Label("Trps:", ls); Label trpsDC = new Label("Trps:", ls); Label atkAC = new Label("Atk:", ls); Label atkDC = new Label("Atk:", ls); Label defAC = new Label("Def:", ls); Label defDC = new Label("Def:", ls); Label advAC = new Label("Adv:", ls); Label advDC = new Label("Adv:", ls); title.setAlignment(0, 0); title.setWrap(true); title.setWidth(SidePanel.WIDTH - PAD * 2 - MINI_PAD * 2); initA = new Label("", lsFaction); initD = new Label("", lsFaction); initA.setAlignment(Align.center); initD.setAlignment(Align.center); initA.setWrap(true); initD.setWrap(true); if (battle.aArmies.size > 0 && battle.aArmies.first() != null) initA.setText(battle.aArmies.first().getName()); if (battle.dArmies.size > 0 && battle.dArmies.first() != null) initD.setText(battle.dArmies.first().getName()); attackers = new Label("", ls); defenders = new Label("", ls); trpsA = new Label("", ls); trpsD = new Label("", ls); trpsA.setWrap(true); trpsD.setWrap(true); atkA = new Label("", ls); atkD = new Label("", ls); defA = new Label("", ls); defD = new Label("", ls); // advA = new Label("", ls); // advD = new Label("" ,ls); balance = new Table(); red = new Table(); red.setBackground(new NinePatchDrawable(new NinePatch(Assets.atlas.findRegion(redPatch), r, r, r, r))); green = new Table(); green.setBackground(new NinePatchDrawable(new NinePatch(Assets.atlas.findRegion(greenPatch), r, r, r, r))); // def = new Label("", ls); // spd = new Label("", ls); // Create text text = new Table(); //text.debug(); text.defaults().padTop(NEG).left(); text.add(title).colspan(4).fillX().expandX().padBottom(MINI_PAD); text.row(); text.add().colspan(2).width((SidePanel.WIDTH - PAD * 2) / 2); text.add().colspan(2).width((SidePanel.WIDTH - PAD * 2) / 2); // text.row(); // text.add(vsC).colspan(4).center(); text.row(); text.add(initA).center().colspan(2).expandX().width((SidePanel.WIDTH - PAD * 2 - MINI_PAD) / 2); text.add(initD).center().colspan(2).expandX().width((SidePanel.WIDTH - PAD * 2 - MINI_PAD) / 2); text.row(); text.add(attackers).center().colspan(2); text.add(defenders).center().colspan(2); text.row(); text.add(trpsAC).padLeft(MINI_PAD); text.add(trpsA).left(); text.add(trpsDC); text.add(trpsD).left(); text.row(); text.add(atkAC).padLeft(MINI_PAD); text.add(atkA).left(); text.add(atkDC); text.add(atkD).left(); text.row(); text.add(defAC).padLeft(MINI_PAD); text.add(defA).left(); text.add(defDC); text.add(defD).left(); text.row(); // text.add(advAC).padLeft(MINI_PAD); // text.add(advA).left(); // text.add(advDC); // text.add(advD).left(); text.add(balance).colspan(4).padTop(MINI_PAD); text.row(); Table leftTable = new Table(); Table rightTable = new Table(); aTable = new Table(); dTable = new Table(); aTable.defaults().left().padTop(NEG).top().left(); dTable.defaults().right().padTop(NEG).top().right(); aTable.top(); dTable.top(); aRetTable = new Table(); dRetTable = new Table(); aRetTable.defaults().left().padTop(NEG).top().left(); dRetTable.defaults().right().padTop(NEG).top().right(); leftTable.add(aTable); leftTable.row(); leftTable.add(aRetTable); leftTable.top(); rightTable.add(dTable); rightTable.row(); rightTable.add(dRetTable); rightTable.top(); //aTable.debug(); //dTable.debug(); soldierTable = new Table(); //soldierTable.debug(); soldierTable.top(); soldierTable.setBackground( new NinePatchDrawable(new NinePatch(Assets.atlas.findRegion(tablePatch), r, r, r, r))); soldierTable.add().width(SidePanel.WIDTH - 2 * PAD).colspan(2); soldierTable.row(); soldierTable.add(leftTable).top(); soldierTable.add(rightTable).top(); text.add().colspan(4).padBottom(PAD); text.row(); soldierPane = new ScrollPane(soldierTable); soldierPane.setScrollbarsOnTop(true); soldierPane.setFadeScrollBars(false); text.add(soldierPane).colspan(4).top().padTop(0).expand().fill(); text.row(); // Soldier's stats stats = new Table(); stats.setVisible(false); Label levelSC = new Label("Level:", ls); Label expSC = new Label("Exp:", ls); Label nextSC = new Label("Next:", ls); Label atkSC = new Label("Atk:", ls); Label defSC = new Label("Def:", ls); Label spdSC = new Label("Spd:", ls); Label weaponSC = new Label("Weapon: ", ls); Label equipmentSC = new Label("Armor: ", ls); nameS = new Label("", ls); nameS.setAlignment(0, 0); levelS = new Label("", ls); expS = new Label("", ls); nextS = new Label("", ls); atkS = new Label("", ls); defS = new Label("", ls); spdS = new Label("", ls); weaponS = new Label("", ls); equipmentS = new Label("", ls); stats.defaults().left().padTop(NEG); stats.add(nameS).colspan(4).width(SidePanel.WIDTH - PAD * 2).fillX().expandX().padBottom(MINI_PAD); stats.row(); stats.add().colspan(2).width((SidePanel.WIDTH - PAD * 2) / 2); stats.add().colspan(2).width((SidePanel.WIDTH - PAD * 2) / 2); stats.row(); stats.add(levelSC); stats.add(levelS); stats.add(atkSC).padLeft(PAD); stats.add(atkS); stats.row(); stats.add(expSC); stats.add(expS); stats.add(defSC).padLeft(PAD); stats.add(defS); stats.row(); stats.add(nextSC); stats.add(nextS); stats.add(spdSC).padLeft(PAD); stats.add(spdS); stats.row(); stats.add(weaponSC).colspan(2).padLeft(MINI_PAD).padTop(0); stats.add(weaponS).colspan(2).padTop(0); stats.row(); stats.add(equipmentSC).colspan(2).padLeft(MINI_PAD).padTop(0).top(); stats.add(equipmentS).colspan(2).padTop(0); //stats.debug(); text.add(stats).colspan(4).padTop(PAD); this.addTopTable(text); this.setButton(1, "Retreat!"); }
From source file:kyle.game.besiege.panels.PanelFaction.java
License:Open Source License
public PanelFaction(SidePanel panel, Faction faction) { this.panel = panel; this.faction = faction; this.addParentPanel(panel); LabelStyle lsBig = new LabelStyle(); lsBig.font = Assets.pixel24;/*w w w . j ava 2 s.c om*/ ls = new LabelStyle(); ls.font = Assets.pixel16; lsG = new LabelStyle(); lsG.font = Assets.pixel16; lsG.fontColor = Color.GRAY; lsY = new LabelStyle(); lsY.font = Assets.pixel16; lsY.fontColor = Color.YELLOW; Label castlesC = new Label("Castles:", ls); Label wealthC = new Label("Wealth:", ls); // maybe give this a mouseover for description. title = new Label("", lsBig); title.setAlignment(0, 0); title.setWrap(true); title.setWidth(SidePanel.WIDTH - PAD * 2 - MINI_PAD * 2); title.setText(faction.name); wealth = new Label("", ls); cities = new Table(); // Create text text = new Table(); // text.debug(); text.defaults().padTop(NEG).left(); // title.addListener(new InputListener() { // public boolean touchDown(InputEvent event, float x, // float y, int pointer, int button) { // return true; // } // public void touchUp(InputEvent event, float x, float y, // int pointer, int button) { // centerCamera(); // } // }); text.add(title).colspan(2).fillX().expandX().padBottom(MINI_PAD); text.row(); text.add().width((SidePanel.WIDTH - PAD * 2) / 2); text.add().width((SidePanel.WIDTH - PAD * 2) / 2); text.row(); text.add(wealthC).padLeft(MINI_PAD).center(); text.add(wealth).center(); text.row(); text.add().colspan(2).padTop(MINI_PAD); text.row(); cities = new Table(); // cities.debug(); //cities.defaults().padTop(NEG); cities.top(); cities.defaults().left().padTop(NEG).expandX(); castles = new Table(); // castles.debug(); castles.top(); castles.defaults().left().padTop(NEG).expandX(); locations = new Table(); // locations.debug(); locations.top(); locations.defaults().left().top(); locations.setBackground( new NinePatchDrawable(new NinePatch(Assets.atlas.findRegion(tablePatch), r, r, r, r))); locations.add().width((SidePanel.WIDTH - PAD * 2) / 2); locations.add().width((SidePanel.WIDTH - PAD * 2) / 2); locations.row(); locations.add(cities).width((SidePanel.WIDTH - PAD * 2) / 2); locations.add(castles).width((SidePanel.WIDTH - PAD * 2) / 2); locationPane = new ScrollPane(locations); locationPane.setScrollbarsOnTop(true); locationPane.setFadeScrollBars(false); text.add(locationPane).colspan(2).top().padTop(0); text.row(); text.add().colspan(2).padTop(PAD); text.row(); nobles = new Table(); // nobles.debug(); nobles.top(); nobles.defaults().padTop(NEG).left(); noblesPane = new ScrollPane(nobles); noblesPane.setScrollbarsOnTop(true); noblesPane.setFadeScrollBars(false); nobles.setBackground(new NinePatchDrawable(new NinePatch(Assets.atlas.findRegion(tablePatch), r, r, r, r))); nobles.add().width((SidePanel.WIDTH - PAD * 2) / 2); nobles.add().width((SidePanel.WIDTH - PAD * 2) / 2); nobles.row(); text.add(noblesPane).colspan(2); text.row(); text.add().colspan(2).padTop(PAD); text.row(); relations = new Table(); relations.top(); relations.defaults().padTop(NEG).left(); relationsPane = new ScrollPane(relations); relationsPane.setScrollbarsOnTop(true); relationsPane.setFadeScrollBars(false); relations.setBackground( new NinePatchDrawable(new NinePatch(Assets.atlas.findRegion(tablePatch), r, r, r, r))); text.add(relationsPane).colspan(2); text.row(); // //Soldier's stats // stats = new Table(); // stats.setVisible(false); // // Label levelSC = new Label("Level:", ls); // Label expSC = new Label("Exp:",ls); // Label nextSC = new Label("Next:",ls); // Label atkSC = new Label("Atk:", ls); // Label defSC = new Label("Def:", ls); // Label spdSC = new Label("Spd:", ls); // Label weaponSC = new Label("Weapon: ", ls); // Label equipmentSC = new Label("Armor: ", ls); // // nameS = new Label("", ls); // nameS.setAlignment(0,0); // levelS = new Label("", ls); // expS = new Label("", ls); // nextS = new Label("", ls); // atkS = new Label("" ,ls); // defS = new Label("", ls); // spdS = new Label("", ls); // weaponS = new Label("", ls); // equipmentS = new Label("", ls); // // stats.defaults().left().padTop(NEG); // stats.add(nameS).colspan(4).width(SidePanel.WIDTH-PAD*2).fillX().expandX().padBottom(MINI_PAD); // stats.row(); // stats.add().colspan(2).width((SidePanel.WIDTH-PAD*2)/2); // stats.add().colspan(2).width((SidePanel.WIDTH-PAD*2)/2); // stats.row(); // stats.add(levelSC).padLeft(MINI_PAD); // stats.add(levelS); // stats.add(atkSC).padLeft(PAD); // stats.add(atkS); // stats.row(); // stats.add(expSC).padLeft(MINI_PAD); // stats.add(expS); // stats.add(defSC).padLeft(PAD); // stats.add(defS); // stats.row(); // stats.add(nextSC).padLeft(MINI_PAD); // stats.add(nextS); // stats.add(spdSC).padLeft(PAD); // stats.add(spdS); // stats.row(); // stats.add(weaponSC).colspan(2).padLeft(MINI_PAD).padTop(0); // stats.add(weaponS).colspan(2).padTop(0); // stats.row(); // stats.add(equipmentSC).colspan(2).padLeft(MINI_PAD).padTop(0).top(); // stats.add(equipmentS).colspan(2).padTop(0); // // //stats.debug(); // //// text.add(stats).colspan(4).padTop(PAD); this.addTopTable(text); this.setButton(4, "Back"); updateRelations(); }
From source file:kyle.game.besiege.panels.PanelParty.java
License:Open Source License
public PanelParty(SidePanel panel, Army army) { this.panel = panel; this.army = army; this.party = army.getParty(); this.addParentPanel(panel); LabelStyle lsBig = new LabelStyle(); lsBig.font = Assets.pixel24;//from w w w. j av a 2s .co m LabelStyle lsFaction = new LabelStyle(); lsFaction.font = Assets.pixel18; ls = new LabelStyle(); ls.font = Assets.pixel16; lsG = new LabelStyle(); lsG.font = Assets.pixel16; lsG.fontColor = Color.GRAY; lsY = new LabelStyle(); lsY.font = Assets.pixel16; lsY.fontColor = Color.YELLOW; Label sizeC = new Label("Size:", ls); Label moraleC = new Label("Morale:", ls); Label moneyC = new Label("Money:", ls); Label atkC = new Label("Atk:", ls); Label defC = new Label("Def:", ls); Label spdC = new Label("Spd:", ls); title = new Label("", lsBig); title.setAlignment(0, 0); title.setWrap(true); title.setWidth(SidePanel.WIDTH - PAD * 2 - MINI_PAD * 2); faction = new Label("", lsFaction); faction.setAlignment(0, 0); // testing title.setText(army.getName()); faction.setText(army.getFactionName()); faction.addListener(new InputListener() { public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) { return true; } public void touchUp(InputEvent event, float x, float y, int pointer, int button) { setActiveFaction(); } }); action = new Label("", ls); action.setWrap(true); action.setAlignment(Align.center); size = new Label("", ls); morale = new Label("", ls); money = new Label("", ls); atk = new Label("", ls); def = new Label("", ls); spd = new Label("", ls); // Create text text = new Table(); //text.debug(); text.defaults().padTop(NEG).left(); title.addListener(new InputListener() { public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) { return true; } public void touchUp(InputEvent event, float x, float y, int pointer, int button) { centerCamera(); } }); text.add(title).colspan(4).fillX().expandX().padBottom(0); text.row(); text.add().colspan(2).width((SidePanel.WIDTH - PAD * 2) / 2); text.add().colspan(2).width((SidePanel.WIDTH - PAD * 2) / 2); text.row(); text.add(faction).colspan(4).padBottom(MINI_PAD).fillX().expandX(); text.row(); text.add(action).colspan(4).padBottom(MINI_PAD).fillX().expandX(); text.row(); text.add(sizeC).padLeft(MINI_PAD); text.add(size); text.add(atkC).padLeft(PAD); text.add(atk); text.row(); text.add(moraleC).padLeft(MINI_PAD); text.add(morale); text.add(defC).padLeft(PAD); text.add(def); text.row(); text.add(moneyC).padLeft(MINI_PAD); text.add(money); text.add(spdC).padLeft(PAD); text.add(spd); soldierTable = new Table(); //soldierTable.debug(); soldierTable.defaults().padTop(NEG); soldierTable.top(); soldierTable.setBackground( new NinePatchDrawable(new NinePatch(Assets.atlas.findRegion(tablePatch), r, r, r, r))); text.row(); text.add().colspan(4).padBottom(PAD); text.row(); soldierPane = new ScrollPane(soldierTable); soldierPane.setScrollbarsOnTop(true); soldierPane.setFadeScrollBars(false); text.add(soldierPane).colspan(4).top().padTop(0); text.row(); // Soldier's stats stats = new Table(); stats.setVisible(false); Label levelSC = new Label("Level:", ls); Label expSC = new Label("Exp:", ls); Label nextSC = new Label("Next:", ls); Label atkSC = new Label("Atk:", ls); Label defSC = new Label("Def:", ls); Label spdSC = new Label("Spd:", ls); Label weaponSC = new Label("Weapon: ", ls); Label equipmentSC = new Label("Armor: ", ls); nameS = new Label("", ls); nameS.setAlignment(0, 0); levelS = new Label("", ls); expS = new Label("", ls); nextS = new Label("", ls); atkS = new Label("", ls); defS = new Label("", ls); spdS = new Label("", ls); weaponS = new Label("", ls); equipmentS = new Label("", ls); stats.defaults().left().padTop(NEG); stats.add(nameS).colspan(4).width(SidePanel.WIDTH - PAD * 2).fillX().expandX().padBottom(MINI_PAD); stats.row(); stats.add().colspan(2).width((SidePanel.WIDTH - PAD * 2) / 2); stats.add().colspan(2).width((SidePanel.WIDTH - PAD * 2) / 2); stats.row(); stats.add(levelSC).padLeft(MINI_PAD); stats.add(levelS); stats.add(atkSC).padLeft(PAD); stats.add(atkS); stats.row(); stats.add(expSC).padLeft(MINI_PAD); stats.add(expS); stats.add(defSC).padLeft(PAD); stats.add(defS); stats.row(); stats.add(nextSC).padLeft(MINI_PAD); stats.add(nextS); stats.add(spdSC).padLeft(PAD); stats.add(spdS); stats.row(); stats.add(weaponSC).colspan(2).padLeft(MINI_PAD).padTop(0); stats.add(weaponS).colspan(2).padTop(0); stats.row(); stats.add(equipmentSC).colspan(2).padLeft(MINI_PAD).padTop(0).top(); stats.add(equipmentS).colspan(2).padTop(0); //stats.debug(); text.add(stats).colspan(4).padTop(PAD); this.addTopTable(text); if (this.army == panel.getPlayer()) { this.setButton(1, "Upgrades"); this.setButton(2, "Inventory"); this.setButton(3, "Character"); } playerTouched = false; updateSoldierTable(); if (!this.party.player) this.setButton(4, "Back"); }