package com.jpii.navalbattle.game; import com.jpii.navalbattle.game.entity.AircraftCarrier; import com.jpii.navalbattle.game.entity.BattleShip; import com.jpii.navalbattle.game.entity.Submarine; import com.jpii.navalbattle.pavo.Game; import com.jpii.navalbattle.pavo.PavoHelper; import com.jpii.navalbattle.pavo.World; import com.jpii.navalbattle.pavo.grid.Entity; import com.jpii.navalbattle.pavo.grid.EntityManager; import com.jpii.navalbattle.pavo.grid.GridHelper; import com.jpii.navalbattle.pavo.grid.GridedEntityTileOrientation; import com.jpii.navalbattle.util.FileUtils; /** * The entity manager specified for NavalBattle. */ public class NavalManager extends EntityManager { private static final long serialVersionUID = 1L; public static GridedEntityTileOrientation w1, w2, w3; /** * Creates a new instance of the NavalManager. * @param w The world to create it from. */ public NavalManager(World w) { super(w); battleShipId = new GridedEntityTileOrientation(); battleShipId.setLeftToRightImage(registerEntity(PavoHelper.imgUtilOutline( FileUtils.getImage("drawable-game/battleship/battleship.png"),Game.Settings.GridColor),GridedEntityTileOrientation.ORIENTATION_LEFTTORIGHT)); battleShipId.setTopToBottomImage(registerEntity(PavoHelper.imgUtilOutline( FileUtils.getImage("drawable-game/battleship/battleship_S.png"),Game.Settings.GridColor),GridedEntityTileOrientation.ORIENTATION_TOPTOBOTTOM)); acarrierId = new GridedEntityTileOrientation(); acarrierId.setLeftToRightImage(registerEntity(PavoHelper.imgUtilOutline( FileUtils.getImage("drawable-game/aircraftcarrier/aircraftcarrier.png"),Game.Settings.GridColor),GridedEntityTileOrientation.ORIENTATION_LEFTTORIGHT)); acarrierId.setTopToBottomImage(registerEntity(PavoHelper.imgUtilOutline( FileUtils.getImage("drawable-game/aircraftcarrier/aircraftcarrier_S.png"),Game.Settings.GridColor),GridedEntityTileOrientation.ORIENTATION_TOPTOBOTTOM)); submarineId = new GridedEntityTileOrientation(); submarineId.setLeftToRightImage(registerEntity(PavoHelper.imgUtilOutline( FileUtils.getImage("drawable-game/submarine/submarine.png"),Game.Settings.GridColor),GridedEntityTileOrientation.ORIENTATION_LEFTTORIGHT)); submarineId.setTopToBottomImage(registerEntity(PavoHelper.imgUtilOutline( FileUtils.getImage("drawable-game/submarine/submarine_S.png"),Game.Settings.GridColor),GridedEntityTileOrientation.ORIENTATION_TOPTOBOTTOM)); submarineUId = new GridedEntityTileOrientation(); submarineUId.setLeftToRightImage(registerEntity(PavoHelper.imgUtilOutline( FileUtils.getImage("drawable-game/submarine/submarineU.png"),Game.Settings.GridColor),GridedEntityTileOrientation.ORIENTATION_LEFTTORIGHT)); submarineUId.setTopToBottomImage(registerEntity(PavoHelper.imgUtilOutline( FileUtils.getImage("drawable-game/submarine/submarineU_S.png"),Game.Settings.GridColor),GridedEntityTileOrientation.ORIENTATION_TOPTOBOTTOM)); if (battleShipId != null) { BattleShip.BATTLESHIP_ID = battleShipId; } if (acarrierId != null) { AircraftCarrier.AIRCRAFTCARRIER_ID = acarrierId; } if (submarineId != null) { Submarine.SUBMARINE_ID = submarineId; Submarine.SUBMARINEU_ID = submarineUId; } else { } gh = new GridHelper(Game.Settings.rand.nextLong(),this); } public GridHelper gh; public void gameDoneGenerating() { int w1_ = registerEntity(PavoHelper.imgUtilOutline(FileUtils.getImage("drawable-game/other/whaleleft.png"),Game.Settings.GridColor),GridedEntityTileOrientation.ORIENTATION_LEFTTORIGHT); int w2_ = registerEntity(PavoHelper.imgUtilOutline(FileUtils.getImage("drawable-game/other/whalecenter.png"),Game.Settings.GridColor),GridedEntityTileOrientation.ORIENTATION_LEFTTORIGHT); int w3_ = registerEntity(PavoHelper.imgUtilOutline(FileUtils.getImage("drawable-game/other/whaleright.png"),Game.Settings.GridColor),GridedEntityTileOrientation.ORIENTATION_LEFTTORIGHT); w1 = new GridedEntityTileOrientation(); w1.setLeftToRightImage(w1_); w1.setTopToBottomImage(w1_); w2 = new GridedEntityTileOrientation(); w2.setLeftToRightImage(w2_); w2.setTopToBottomImage(w2_); w3 = new GridedEntityTileOrientation(); w3.setLeftToRightImage(w3_); w3.setTopToBottomImage(w3_); System.out.println("Let me play you the song of my people."); } public void update(long ticksPassed) { for (int c = 0; c < this.getTotalEntities(); c++) { Entity e = getEntity(c); if (e != null){ e.onUpdate(ticksPassed); } } } public NavalGame getGame(){ return (NavalGame)getWorld().getGame(); } }