diff --git a/src/data/buildings/cc/cc.png b/src/data/buildings/cc/cc.png deleted file mode 100644 index c0c853a..0000000 Binary files a/src/data/buildings/cc/cc.png and /dev/null differ diff --git a/src/data/map/factory/factory_1.png b/src/data/buildings/factory/factory_1.png similarity index 100% rename from src/data/map/factory/factory_1.png rename to src/data/buildings/factory/factory_1.png diff --git a/src/data/map/factory/factory_2.png b/src/data/buildings/factory/factory_2.png similarity index 100% rename from src/data/map/factory/factory_2.png rename to src/data/buildings/factory/factory_2.png diff --git a/src/data/buildings/prison/prison.png b/src/data/buildings/prison/prison.png new file mode 100644 index 0000000..32b2814 Binary files /dev/null and b/src/data/buildings/prison/prison.png differ diff --git a/src/data/map/redmud.jpg b/src/data/map/redmud.jpg deleted file mode 100644 index de34477..0000000 Binary files a/src/data/map/redmud.jpg and /dev/null differ diff --git a/src/ei/game/gamestate/LoadingState.java b/src/ei/game/gamestate/LoadingState.java index b9354b9..a47c615 100644 --- a/src/ei/game/gamestate/LoadingState.java +++ b/src/ei/game/gamestate/LoadingState.java @@ -24,14 +24,14 @@ public class LoadingState extends GameState{ "data/splash.png", "data/buildings/cc/cc_building.png", "data/buildings/cc/cc_ground.png", - "data/buildings/cc/cc.png", + "data/buildings/factory/factory_1.png", + "data/buildings/factory/factory_2.png", + "data/buildings/prison/prison.png", "data/hud/buildmenu.png", "data/hud/money.png", "data/map/Grass.png", "data/map/redmud.jpg", "data/map/sand.jpg", - "data/map/factory/factory_1.png", - "data/map/factory/factory_2.png", "data/map/parking/parking_01.png", "data/map/parking/parking_04.png", "data/map/parking/parking_07.png", diff --git a/src/ei/game/scene/Map.java b/src/ei/game/scene/Map.java index 281ceae..32834cd 100644 --- a/src/ei/game/scene/Map.java +++ b/src/ei/game/scene/Map.java @@ -16,6 +16,7 @@ import ei.game.player.GaiaPlayer; import ei.game.player.Player; import ei.game.player.PlayerHandler; import ei.game.scene.map.Factory; +import ei.game.scene.map.Prison; import ei.game.scene.map.Stone; public class Map { @@ -29,6 +30,7 @@ public class Map { public static final int OBJ_STONE = 1; public static final int OBJ_FACTORY = 2; + public static final int OBJ_PRISON = 3; public static final int POS_SIZE = 50; private int width; @@ -145,6 +147,9 @@ public class Map { case OBJ_FACTORY: gaia.addUnit(new Factory(new Vector2i(i,j),gaia)); break; + case OBJ_PRISON: + gaia.addUnit(new Prison(new Vector2i(i,j),gaia)); + break; } } } diff --git a/src/ei/game/scene/map/Factory.java b/src/ei/game/scene/map/Factory.java index 493e4bb..99352f5 100644 --- a/src/ei/game/scene/map/Factory.java +++ b/src/ei/game/scene/map/Factory.java @@ -12,8 +12,8 @@ import ei.game.scene.weapons.WeaponHandler; public class Factory extends Building{ private static final String[] img = { - "data/map/factory/factory_1.png", - "data/map/factory/factory_2.png" + "data/buildings/factory/factory_1.png", + "data/buildings/factory/factory_2.png" }; private SelectBox selectionBox; private Sprite factory; diff --git a/src/ei/game/scene/map/Prison.java b/src/ei/game/scene/map/Prison.java new file mode 100644 index 0000000..420b743 --- /dev/null +++ b/src/ei/game/scene/map/Prison.java @@ -0,0 +1,63 @@ +package ei.game.scene.map; + +import ei.engine.math.Vector2f; +import ei.engine.math.Vector2i; +import ei.engine.scene.Entity; +import ei.engine.scene.Sprite; +import ei.game.player.Player; +import ei.game.scene.SelectBox; +import ei.game.scene.buildings.Building; +import ei.game.scene.weapons.Explotion; +import ei.game.scene.weapons.WeaponHandler; + +public class Prison extends Building{ + private static final String[] img = { + "data/map/prison/prison.png" + }; + private SelectBox selectionBox; + private Sprite prison; + + public Prison(Vector2i pos, Player p) { + super(2000, pos, p, 6); + prison = new Sprite("Factory",img[(int)(Math.random()*img.length)]); + prison.setSize(new Vector2f(300,300)); + getNode().add(prison); + + selectionBox = new SelectBox(0,300,300,getMaxLife()); + } + + @Override + public Entity getSprite() { + return prison; + } + + @Override + public int getMaintenanceCost() { + return 0; + } + + @Override + public Entity getGroundSprite() { + return null; + } + + @Override + public void attack(Vector2i target, boolean play) { + + } + + @Override + public void destroyed() { + WeaponHandler.getInstance().addWeapon(new Explotion(new Vector2f(getNode().getLocation().getX(), getNode().getLocation().getY()))); + } + + @Override + protected SelectBox getSelection() { + return selectionBox; + } + + public boolean isTerrain(){ + return true; + } + +}