diff options
Diffstat (limited to 'core/src/ch')
-rw-r--r-- | core/src/ch/asynk/tankontank/game/GameCtrl.java | 30 |
1 files changed, 27 insertions, 3 deletions
diff --git a/core/src/ch/asynk/tankontank/game/GameCtrl.java b/core/src/ch/asynk/tankontank/game/GameCtrl.java index 577aa02..3b60f05 100644 --- a/core/src/ch/asynk/tankontank/game/GameCtrl.java +++ b/core/src/ch/asynk/tankontank/game/GameCtrl.java @@ -1,27 +1,51 @@ package ch.asynk.tankontank.game; -import ch.asynk.tankontank.game.Map; +import com.badlogic.gdx.utils.Disposable; +import ch.asynk.tankontank.TankOnTank; import ch.asynk.tankontank.game.states.GameStateCommon; import ch.asynk.tankontank.game.states.GameStateNone; import ch.asynk.tankontank.game.states.GameStatePath; import ch.asynk.tankontank.game.states.GameStateDirection; -public class GameCtrl +public class GameCtrl implements Disposable { + private final TankOnTank game; + + private GameFactory factory; + public Map map; + public Hud hud; + private GameState noneState; private GameState pathState; private GameState directionState ; private GameState state; - public GameCtrl(Map map) + public GameCtrl(final TankOnTank game) { + this.game = game; + + this.factory = new GameFactory(game.manager); + this.map = factory.getMap(game.manager, GameFactory.MapType.MAP_A); + + this.hud = new Hud(game); + this.noneState = new GameStateNone(this, map); this.pathState = new GameStatePath(); this.directionState = new GameStateDirection(); this.state = noneState; + + factory.fakeSetup(map); + } + + @Override + public void dispose() + { + hud.dispose(); + map.dispose(); + factory.dispose(); } public void setState(GameState.State state, boolean forward) |