diff options
author | Jérémy Zurcher <jeremy@asynk.ch> | 2015-01-21 10:52:33 +0100 |
---|---|---|
committer | Jérémy Zurcher <jeremy@asynk.ch> | 2015-01-21 10:52:33 +0100 |
commit | ab76defa6334d83ba2d73a3adfad1d697061c1e4 (patch) | |
tree | 240e0d56b9bc230eff4603eaf1337d59563ad0bf /core/src/ch/asynk/tankontank/engine/Objective.java | |
parent | 773e6c2b462eb5390d7b3c5f8a85bef95562575e (diff) | |
download | RustAndDust-ab76defa6334d83ba2d73a3adfad1d697061c1e4.zip RustAndDust-ab76defa6334d83ba2d73a3adfad1d697061c1e4.tar.gz |
Objective[Set]: move from game to engine package
Diffstat (limited to 'core/src/ch/asynk/tankontank/engine/Objective.java')
-rw-r--r-- | core/src/ch/asynk/tankontank/engine/Objective.java | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/core/src/ch/asynk/tankontank/engine/Objective.java b/core/src/ch/asynk/tankontank/engine/Objective.java new file mode 100644 index 0000000..1686122 --- /dev/null +++ b/core/src/ch/asynk/tankontank/engine/Objective.java @@ -0,0 +1,49 @@ +package ch.asynk.tankontank.engine; + +public class Objective +{ + protected Faction curFaction; + protected Faction prevFaction; + private boolean persistent; + + public Objective(Faction faction, boolean persistent) + { + this.curFaction = faction; + this.prevFaction = faction; + this.persistent = persistent; + } + + public boolean is(Faction faction) + { + return (curFaction == faction); + } + + public Faction faction() + { + return curFaction; + } + + public boolean set(Faction faction) + { + if (faction == curFaction) + return false; + + prevFaction = curFaction; + curFaction = faction; + return true; + } + + public boolean unset() + { + if (persistent) + return false; + revert(); + return true; + } + + public Faction revert() + { + curFaction = prevFaction; + return curFaction; + } +} |