package ei.game.gamestate; import ei.engine.scene.Node; import ei.engine.sound.Sound; import ei.engine.state.GameState; import ei.game.hud.InGameHud; import ei.game.input.InGameMouseInput; import ei.game.player.HumanPlayer; import ei.game.player.PlayerHandler; import ei.game.scene.Map; import ei.game.scene.units.APU; import ei.game.scene.units.Bomber; import ei.game.scene.units.Tank; import ei.game.scene.weapons.WeaponHandler; public class InGameState extends GameState{ private Node rootNode; private InGameHud hud; private static Map map; private Sound music; public InGameState(String name){ super(name); rootNode = new Node("InGameNode"); map = new Map(20,20); map.init("data/map/default"); InGameMouseInput mouse = new InGameMouseInput(map); super.getInput().addInput(mouse); HumanPlayer player = new HumanPlayer(); Tank t1 = new Tank(player); player.addUnit(t1); Tank t2 = new Tank(1,0, player); player.addUnit(t2); player.addUnit(new Tank(2,0, player)); player.addUnit(new Bomber(3, 0, player)); player.addUnit(new Bomber(6, 0, player)); player.addUnit(new Bomber(7, 0, player)); player.addUnit(new APU(4, 0, player)); player.addUnit(new APU(5, 0, player)); //player.addUnit(new CommandCenter(10, 10, player)); PlayerHandler.getInstance().addPlayer(player); rootNode.add(map.getMapNode()); rootNode.add(PlayerHandler.getInstance().getNode()); rootNode.add(WeaponHandler.getInstance().getNode()); hud = new InGameHud(player); mouse.setHud(hud); rootNode.add(hud.getNode()); music = new Sound("music", "data/sounds/ei.ogg"); music.loop(); } /** * Renders the gamestate */ public void render() { rootNode.render(); } /** * Updates the gamestate */ public void update() { PlayerHandler.getInstance().update(); WeaponHandler.getInstance().update(); hud.update(); rootNode.update(); } /** *Returns the map of the game * * @return The map of the game */ public static Map getMap() { return map; } }