diff options
Diffstat (limited to 'core')
| -rw-r--r-- | core/src/ch/asynk/rustanddust/game/Map.java | 27 | ||||
| -rw-r--r-- | core/src/ch/asynk/rustanddust/game/battles/MapRules.java | 24 | 
2 files changed, 29 insertions, 22 deletions
| diff --git a/core/src/ch/asynk/rustanddust/game/Map.java b/core/src/ch/asynk/rustanddust/game/Map.java index 9eb3e65..4d68010 100644 --- a/core/src/ch/asynk/rustanddust/game/Map.java +++ b/core/src/ch/asynk/rustanddust/game/Map.java @@ -57,6 +57,9 @@ public abstract class Map extends Board implements MoveToAnimationCb, ObjectiveS      private OrderList commands; +    public abstract void init(); +    public abstract void turnDone(); +    public abstract void actionDone();      protected abstract void setup();      protected abstract void resolveEngagement(Engagement e);      protected abstract int engagementCost(Engagement e); @@ -368,28 +371,8 @@ public abstract class Map extends Board implements MoveToAnimationCb, ObjectiveS          return r;      } -    // Ctrl Methods - -    public void init() -    { -        actionDone(); -    } - -    public void turnDone() -    { -        RustAndDust.debug("TurnDone", String.format(" Processed Commands : %d", commands.size())); - -        if (objectives.modifiedCount() > 0) -            throw new RuntimeException("objectives not cleared"); - -        // FIXME do something with these Commands -        commands.dispose(); -    } - -    public void actionDone() -    { -        objectives.forget(); -    } +    protected int commandsSize() { return commands.size(); } +    protected void commandsClear() { commands.dispose(); }      // STATES ENTRY -> diff --git a/core/src/ch/asynk/rustanddust/game/battles/MapRules.java b/core/src/ch/asynk/rustanddust/game/battles/MapRules.java index 3426701..89af8bd 100644 --- a/core/src/ch/asynk/rustanddust/game/battles/MapRules.java +++ b/core/src/ch/asynk/rustanddust/game/battles/MapRules.java @@ -14,6 +14,30 @@ abstract public class MapRules extends Map      }      @Override +    public void init() +    { +        actionDone(); +    } + +    @Override +    public void turnDone() +    { +        RustAndDust.debug("TurnDone", String.format(" Processed Commands : %d", commandsSize())); + +        if (objectives.modifiedCount() > 0) +            throw new RuntimeException("objectives not cleared"); + +        // FIXME do something with these Commands +        commandsClear(); +    } + +    @Override +    public void actionDone() +    { +        objectives.forget(); +    } + +    @Override      protected int engagementCost(Engagement e)      {          if ((activatedUnits.size() == 1) && e.attacker.isA(Unit.UnitType.AT_GUN) && e.defender.isHardTarget()) | 
