From 611b4730a9ab19061dbf513ac8da745fc1d730a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Zurcher?= Date: Wed, 18 Feb 2015 21:34:05 +0100 Subject: OrderList: add dispose(), dispose(Pawn) --- core/src/ch/asynk/tankontank/engine/OrderList.java | 19 +++++++++++++++++++ core/src/ch/asynk/tankontank/game/Map.java | 3 ++- 2 files changed, 21 insertions(+), 1 deletion(-) 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 { + public void dispose(Pawn pawn) + { + Iterator 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() -- cgit v1.1-2-g2b99