From d17e8e8d9a127cc15ae16a2fe86b0a5e557e3eae Mon Sep 17 00:00:00 2001 From: Jérémy Zurcher Date: Thu, 5 Nov 2015 14:30:34 +0100 Subject: add and use Pawn.canBreak() --- core/src/ch/asynk/rustanddust/engine/Pawn.java | 1 + core/src/ch/asynk/rustanddust/game/Map.java | 2 +- core/src/ch/asynk/rustanddust/game/Unit.java | 6 ++++++ 3 files changed, 8 insertions(+), 1 deletion(-) (limited to 'core/src/ch/asynk/rustanddust') diff --git a/core/src/ch/asynk/rustanddust/engine/Pawn.java b/core/src/ch/asynk/rustanddust/engine/Pawn.java index f21c9b94..704b7821 100644 --- a/core/src/ch/asynk/rustanddust/engine/Pawn.java +++ b/core/src/ch/asynk/rustanddust/engine/Pawn.java @@ -61,6 +61,7 @@ public abstract class Pawn implements Moveable, Disposable public abstract boolean canRotate(); public abstract boolean canEngage(); public abstract boolean canEngage(Pawn other); + public abstract boolean canBreak(); public abstract boolean canAssistEngagementWithoutLos(); public abstract void move(); diff --git a/core/src/ch/asynk/rustanddust/game/Map.java b/core/src/ch/asynk/rustanddust/game/Map.java index e4f44e62..35497ff7 100644 --- a/core/src/ch/asynk/rustanddust/game/Map.java +++ b/core/src/ch/asynk/rustanddust/game/Map.java @@ -556,7 +556,7 @@ public abstract class Map extends Board implements MoveToAnimationCb, ObjectiveS for (Unit u : activatedUnits) { u.engage(); - if (u.isA(Unit.UnitType.INFANTRY)) + if (u.canBreak()) breakUnits.add(u); } diff --git a/core/src/ch/asynk/rustanddust/game/Unit.java b/core/src/ch/asynk/rustanddust/game/Unit.java index 36e6a69e..ec259c18 100644 --- a/core/src/ch/asynk/rustanddust/game/Unit.java +++ b/core/src/ch/asynk/rustanddust/game/Unit.java @@ -293,6 +293,12 @@ public class Unit extends HeadedPawn return (isEnemy(other) && canEngage()); } + @Override + public boolean canBreak() + { + return isA(UnitType.INFANTRY); + } + public boolean canHQMove() { return (isHq() && ((move == null) || (!move.isEnter()))); -- cgit v1.2.3