diff options
| author | Jérémy Zurcher <jeremy@asynk.ch> | 2015-02-18 21:34:05 +0100 | 
|---|---|---|
| committer | Jérémy Zurcher <jeremy@asynk.ch> | 2015-02-18 21:34:05 +0100 | 
| commit | 611b4730a9ab19061dbf513ac8da745fc1d730a8 (patch) | |
| tree | 2cf6ffe51796ce45dfc9252f00d02d967930abba /core/src/ch/asynk | |
| parent | 50c7bb777aa3608a359d196fe26ef2cdd63db76d (diff) | |
| download | RustAndDust-611b4730a9ab19061dbf513ac8da745fc1d730a8.zip RustAndDust-611b4730a9ab19061dbf513ac8da745fc1d730a8.tar.gz | |
OrderList: add dispose(), dispose(Pawn)
Diffstat (limited to 'core/src/ch/asynk')
| -rw-r--r-- | core/src/ch/asynk/tankontank/engine/OrderList.java | 19 | ||||
| -rw-r--r-- | core/src/ch/asynk/tankontank/game/Map.java | 3 | 
2 files changed, 21 insertions, 1 deletions
| diff --git a/core/src/ch/asynk/tankontank/engine/OrderList.java b/core/src/ch/asynk/tankontank/engine/OrderList.java index 2968441..287f374 100644 --- a/core/src/ch/asynk/tankontank/engine/OrderList.java +++ b/core/src/ch/asynk/tankontank/engine/OrderList.java @@ -1,7 +1,26 @@  package ch.asynk.tankontank.engine;  import java.util.LinkedList; +import java.util.Iterator;  public class OrderList extends LinkedList<Order>  { +    public void dispose(Pawn pawn) +    { +        Iterator<Order> it = iterator(); +        while(it.hasNext()) { +            Order order = it.next(); +            if (order.compareTo(pawn) == 0) { +                it.remove(); +                order.dispose(); +            } +        } +    } + +    public void dispose() +    { +        for (Order o : this) +            o.dispose(); +        clear(); +    }  } diff --git a/core/src/ch/asynk/tankontank/game/Map.java b/core/src/ch/asynk/tankontank/game/Map.java index 245b7e4..2035251 100644 --- a/core/src/ch/asynk/tankontank/game/Map.java +++ b/core/src/ch/asynk/tankontank/game/Map.java @@ -120,6 +120,7 @@ public abstract class Map extends Board implements MoveToAnimationCb, ObjectiveS          DiceAnimation.free();          PromoteAnimation.free();          FireAnimation.free(); +        commands.dispose();          Engagement.clearPool();      } @@ -375,7 +376,7 @@ public abstract class Map extends Board implements MoveToAnimationCb, ObjectiveS              throw new RuntimeException("objectives not cleared");          // FIXME do something with these Commands -        orderList.clear(); +        orderList.dispose();      }      public void actionDone() | 
