diff options
author | Jérémy Zurcher <jeremy@asynk.ch> | 2014-11-21 17:04:38 +0100 |
---|---|---|
committer | Jérémy Zurcher <jeremy@asynk.ch> | 2014-11-21 17:04:38 +0100 |
commit | b2c746a1340f44056d27c11e25a835f5e5feef8e (patch) | |
tree | cacf6d6ee15ad8fc9e8a6609a1eec20caec21419 /core/src/ch/asynk/tankontank/game | |
parent | 13c9f21be040b203c4f81cf34f43f128972ee276 (diff) | |
download | RustAndDust-b2c746a1340f44056d27c11e25a835f5e5feef8e.zip RustAndDust-b2c746a1340f44056d27c11e25a835f5e5feef8e.tar.gz |
add game.Objective
Diffstat (limited to 'core/src/ch/asynk/tankontank/game')
-rw-r--r-- | core/src/ch/asynk/tankontank/game/Objective.java | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/core/src/ch/asynk/tankontank/game/Objective.java b/core/src/ch/asynk/tankontank/game/Objective.java new file mode 100644 index 0000000..f7a6c3b --- /dev/null +++ b/core/src/ch/asynk/tankontank/game/Objective.java @@ -0,0 +1,48 @@ +package ch.asynk.tankontank.game; + +public class Objective +{ + protected Army curArmy; + protected Army prevArmy; + private boolean persistent; + + public Objective(Army army, boolean persistent) + { + this.curArmy = army; + this.prevArmy = army; + this.persistent = persistent; + } + + public boolean is(Army army) + { + return (curArmy == army); + } + + public Army army() + { + return curArmy; + } + + public boolean set(Army army) + { + if (army == curArmy) + return false; + prevArmy = curArmy; + curArmy = army; + return true; + } + + public boolean unset() + { + if (persistent) + return false; + revert(); + return true; + } + + public Army revert() + { + curArmy = prevArmy; + return curArmy; + } +} |