summaryrefslogtreecommitdiffstats
path: root/core/src/ch/asynk/tankontank/game/Map.java
diff options
context:
space:
mode:
authorJérémy Zurcher <jeremy@asynk.ch>2014-10-31 15:45:58 +0100
committerJérémy Zurcher <jeremy@asynk.ch>2014-10-31 15:45:58 +0100
commitea211dc3b942c26874fecf6812d4894a364dfc07 (patch)
tree18b70d9191ca4e042c57bdf6fab5fa74a9621342 /core/src/ch/asynk/tankontank/game/Map.java
parentf2b3e093d2602bafa0669ef90a376a75cf4b7489 (diff)
downloadRustAndDust-ea211dc3b942c26874fecf6812d4894a364dfc07.zip
RustAndDust-ea211dc3b942c26874fecf6812d4894a364dfc07.tar.gz
Map,States: implement infantry move after successfull attack
Diffstat (limited to 'core/src/ch/asynk/tankontank/game/Map.java')
-rw-r--r--core/src/ch/asynk/tankontank/game/Map.java12
1 files changed, 10 insertions, 2 deletions
diff --git a/core/src/ch/asynk/tankontank/game/Map.java b/core/src/ch/asynk/tankontank/game/Map.java
index f391076..db0f6b6 100644
--- a/core/src/ch/asynk/tankontank/game/Map.java
+++ b/core/src/ch/asynk/tankontank/game/Map.java
@@ -32,6 +32,7 @@ public abstract class Map extends Board
public final Board.PawnCollection possibleTargets;
public final Board.PawnCollection attackAssists;
public final Board.PawnCollection activatedPawns;
+ public final Board.PawnCollection breakPawns;
private final SpriteAnimation explosion;
private final SpriteAnimation explosions;
@@ -59,8 +60,8 @@ public abstract class Map extends Board
possibleTargets = new PawnSet(this, 10);
attackAssists = new PawnSet(this, 6);
-
activatedPawns = new PawnSet(this, 7);
+ breakPawns = new PawnSet(this, 4);
}
@Override
@@ -82,6 +83,7 @@ public abstract class Map extends Board
moveablePawns.clear();
attackAssists.clear();
activatedPawns.clear();
+ breakPawns.clear();
}
public Hex getHexAt(float x, float y)
@@ -269,8 +271,12 @@ public abstract class Map extends Board
}
}));
- for (Pawn p : activatedPawns)
+ breakPawns.clear();
+ for (Pawn p : activatedPawns) {
p.attack(target);
+ if (p.isA(Unit.UnitType.INFANTRY))
+ breakPawns.add(p);
+ }
if ((activatedPawns.size() == 1) && pawn.isA(Unit.UnitType.AT_GUN) && target.isHardTarget())
activatedPawns.clear();
@@ -304,6 +310,8 @@ public abstract class Map extends Board
public void showAttackAssists() { attackAssists.enable(Unit.ATTACK_ASSIST, true); }
public void hideAttackAssists() { attackAssists.enable(Unit.ATTACK, false);
attackAssists.enable(Unit.ATTACK_ASSIST, false); }
+ public void showBreakPawns() { breakPawns.enable(Unit.MOVE, true); }
+ public void hideBreakPawns() { breakPawns.enable(Unit.MOVE, false); }
public void selectHex(Hex hex) { enableOverlayOn(hex, Hex.SELECT, true); }