diff options
-rw-r--r-- | core/src/ch/asynk/tankontank/engine/Pawn.java | 7 | ||||
-rw-r--r-- | core/src/ch/asynk/tankontank/game/Unit.java | 20 |
2 files changed, 19 insertions, 8 deletions
diff --git a/core/src/ch/asynk/tankontank/engine/Pawn.java b/core/src/ch/asynk/tankontank/engine/Pawn.java index e623d3b..c21a088 100644 --- a/core/src/ch/asynk/tankontank/engine/Pawn.java +++ b/core/src/ch/asynk/tankontank/engine/Pawn.java @@ -22,6 +22,10 @@ import ch.asynk.tankontank.engine.gfx.animations.AnimationSequence; public abstract class Pawn implements Moveable, Disposable { + public interface PawnType + { + } + public class Attack { int distance; @@ -46,9 +50,10 @@ public abstract class Pawn implements Moveable, Disposable public abstract int getFlankSides(); public abstract int getAttackRangeFrom(Tile tile); + public abstract boolean isUnit(); + public abstract boolean isA(PawnType type); public abstract boolean isHq(); public abstract boolean isHqOf(Pawn other); - public abstract boolean isUnit(); public abstract boolean isHardTarget(); public abstract boolean canMove(); diff --git a/core/src/ch/asynk/tankontank/game/Unit.java b/core/src/ch/asynk/tankontank/game/Unit.java index acb0201..56736d2 100644 --- a/core/src/ch/asynk/tankontank/game/Unit.java +++ b/core/src/ch/asynk/tankontank/game/Unit.java @@ -12,7 +12,7 @@ public class Unit extends HeadedPawn { public static final int DISABLED = 0; - public enum UnitType + public enum UnitType implements Pawn.PawnType { HARD_TARGET, HARD_TARGET_HQ, @@ -121,15 +121,21 @@ public class Unit extends HeadedPawn } @Override - public boolean isHq() + public boolean isUnit() { - return (type == UnitType.HARD_TARGET_HQ); + return true; } @Override - public boolean isHardTarget() + public boolean isA(PawnType t) { - return ((type == UnitType.HARD_TARGET) || (type == UnitType.HARD_TARGET_HQ)); + return (type == t); + } + + @Override + public boolean isHq() + { + return (type == UnitType.HARD_TARGET_HQ); } @Override @@ -142,9 +148,9 @@ public class Unit extends HeadedPawn } @Override - public boolean isUnit() + public boolean isHardTarget() { - return true; + return ((type == UnitType.HARD_TARGET) || (type == UnitType.HARD_TARGET_HQ)); } @Override |