summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorVegard Storheil Eriksen <zyp@jvnv.net>2010-11-27 05:52:06 +0100
committerVegard Storheil Eriksen <zyp@jvnv.net>2010-11-27 05:57:36 +0100
commita93188b3a226c4d61e531eef270c6e7be975da4c (patch)
treeac94236d14ae5b0627799515816ffa1784935109 /common
parent8bfe5dc896639328329197c32e2276309aa1b83d (diff)
Split target type and target offset in Action.
Diffstat (limited to 'common')
-rw-r--r--common/action.cpp6
-rw-r--r--common/action.h15
2 files changed, 15 insertions, 6 deletions
diff --git a/common/action.cpp b/common/action.cpp
index 77988d6..527d25e 100644
--- a/common/action.cpp
+++ b/common/action.cpp
@@ -1,14 +1,14 @@
#include "action.h"
#include <algorithm>
-Action::Action() {
+Action::Action() : target_type(None), target_offset(0) {
}
-Action::Action(Type ty, int ta) : type(ty), target(ta) {
+Action::Action(Type ty, TargetType tt, int to) : type(ty), target_type(tt), target_offset(to) {
}
bool Action::operator==(const Action& other) {
- return type == other.type && target == other.target;
+ return type == other.type && target_type == other.target_type && target_offset == other.target_offset;
}
diff --git a/common/action.h b/common/action.h
index e1b06f2..122411b 100644
--- a/common/action.h
+++ b/common/action.h
@@ -18,14 +18,22 @@ class Action {
Draw // draw
};
+ //! Action target type.
+ enum TargetType {
+ None, // No target
+ Hand, // Target in hand.
+ Open // Target in open.
+ };
+
//! Type of action.
Type type;
//! Target of action (if applicable).
- int target;
+ TargetType target_type;
+ int target_offset;
Action();
- Action(Type ty, int ta = 0);
+ Action(Type ty, TargetType tt = None, int to = 0);
//! Compare to another action.
bool operator==(const Action& other);
@@ -33,7 +41,8 @@ class Action {
template<class Archive>
void serialize(Archive & ar, const unsigned int version) {
ar & type;
- ar & target;
+ ar & target_type;
+ ar & target_offset;
}
};