summaryrefslogtreecommitdiffstats
path: root/core/src/ch/asynk/tankontank/game/UnitSet.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/ch/asynk/tankontank/game/UnitSet.java')
-rw-r--r--core/src/ch/asynk/tankontank/game/UnitSet.java35
1 files changed, 35 insertions, 0 deletions
diff --git a/core/src/ch/asynk/tankontank/game/UnitSet.java b/core/src/ch/asynk/tankontank/game/UnitSet.java
new file mode 100644
index 0000000..e4e63c0
--- /dev/null
+++ b/core/src/ch/asynk/tankontank/game/UnitSet.java
@@ -0,0 +1,35 @@
+package ch.asynk.tankontank.game;
+
+import java.util.Collection;
+import java.util.LinkedHashSet;
+
+import ch.asynk.tankontank.engine.Pawn;
+
+public class UnitSet extends LinkedHashSet<Unit>
+{
+ private final Map map;
+
+ public UnitSet(Map map, int n)
+ {
+ super(n);
+ this.map = map;
+ }
+
+ @SuppressWarnings("unchecked")
+ public Collection<Pawn> asPawns()
+ {
+ return (Collection) this;
+ }
+
+ public Unit first()
+ {
+ if (isEmpty()) return null;
+ return iterator().next();
+ }
+
+ public void enable(int i, boolean enable)
+ {
+ for (Unit unit : this)
+ unit.enableOverlay(i, enable);
+ }
+}