diff --git a/core/src/ch/asynk/creepingarmor/engine/Move.java b/core/src/ch/asynk/creepingarmor/engine/Move.java index 06035c3..1bb55b1 100644 --- a/core/src/ch/asynk/creepingarmor/engine/Move.java +++ b/core/src/ch/asynk/creepingarmor/engine/Move.java @@ -15,12 +15,30 @@ public class Move extends Path implements Iterable<Vector3> EXIT; } + static int count = 0; + private static final Pool<Move> movePool = new Pool<Move>() { @Override protected Move newObject() { return new Move(); } + + @Override + public Move obtain() + { + count += 1; + System.err.println(" MovePool " + count + "/" + getFree()); + return super.obtain(); + } + + @Override + public void free(Move cmd) + { + count -= 1; + super.free(cmd); + System.err.println(" MovePool " + count + "/" + getFree()); + } }; public static Move get(Pawn pawn, Tile from, Tile to, Orientation orientation, Path path) diff --git a/core/src/ch/asynk/creepingarmor/game/Command.java b/core/src/ch/asynk/creepingarmor/game/Command.java index 0d39e6c..db3c910 100644 --- a/core/src/ch/asynk/creepingarmor/game/Command.java +++ b/core/src/ch/asynk/creepingarmor/game/Command.java @@ -19,12 +19,30 @@ public class Command extends Order END_OF_TURN; } + static int count = 0; + private static final Pool<Command> commandPool = new Pool<Command>() { @Override protected Command newObject() { return new Command(); } + + @Override + public Command obtain() + { + count += 1; + System.err.println(" CommandPool " + count + "/" + getFree()); + return super.obtain(); + } + + @Override + public void free(Command cmd) + { + count -= 1; + super.free(cmd); + System.err.println(" CommandPool " + count + "/" + getFree()); + } }; public static void clearPool() diff --git a/core/src/ch/asynk/creepingarmor/game/Engagement.java b/core/src/ch/asynk/creepingarmor/game/Engagement.java index 8f01008..d06ac6d 100644 --- a/core/src/ch/asynk/creepingarmor/game/Engagement.java +++ b/core/src/ch/asynk/creepingarmor/game/Engagement.java @@ -8,11 +8,29 @@ import com.badlogic.gdx.utils.Disposable; public class Engagement implements Disposable, Pool.Poolable { + static int count = 0; + private static final Pool<Engagement> engagementPool = new Pool<Engagement>() { @Override protected Engagement newObject() { return new Engagement(); } + + @Override + public Engagement obtain() + { + count += 1; + System.err.println(" EngagementPool " + count + "/" + getFree()); + return super.obtain(); + } + + @Override + public void free(Engagement cmd) + { + count -= 1; + super.free(cmd); + System.err.println(" EngagementPool " + count + "/" + getFree()); + } }; public static Engagement get(Unit attacker, Unit defender)