diff options
Diffstat (limited to 'core/src/ch/asynk')
-rw-r--r-- | core/src/ch/asynk/rustanddust/game/ctrl/Solo.java | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/core/src/ch/asynk/rustanddust/game/ctrl/Solo.java b/core/src/ch/asynk/rustanddust/game/ctrl/Solo.java index c9de875..54d2310 100644 --- a/core/src/ch/asynk/rustanddust/game/ctrl/Solo.java +++ b/core/src/ch/asynk/rustanddust/game/ctrl/Solo.java @@ -27,7 +27,7 @@ public class Solo extends Ctrl battle.initialDeployment(); synched = true; } else { - GameRecord r = game.db.loadGame(gameId); + GameRecord r = loadState(); if (r != null) { load(Marshal.Mode.STATE, r.state); load(Marshal.Mode.ORDERS, r.orders); @@ -39,6 +39,23 @@ public class Solo extends Ctrl } } + private GameRecord loadState() + { + GameRecord r = null; + switch (game.config.loadMode) { + case LOAD: + r = game.db.loadGame(gameId); + break; + case REPLAY_LAST: + r = game.db.loadLastTurn(gameId); + break; + case REPLAY_ALL: + // TODO REPLAY_ALL + break; + } + return r; + } + @Override public void orderProcessedCb() { |