aboutsummaryrefslogtreecommitdiff
path: root/src/server/shared/Utilities/Util.h
diff options
context:
space:
mode:
authorjoschiwald <joschiwald@online.de>2013-09-18 22:24:05 +0200
committerjoschiwald <joschiwald@online.de>2013-09-18 22:55:10 +0200
commit05e72b4906a90ff347ee56e9f2ad6d7f56eb2d3a (patch)
treecaa07f3c2ea0d2c247b9229b0da3fafb513b7c36 /src/server/shared/Utilities/Util.h
parentc9c12b9867d82558f9af9ac81b95a4a5838a6a15 (diff)
Core/Achievements: Implemented ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE_TYPE
Diffstat (limited to 'src/server/shared/Utilities/Util.h')
-rw-r--r--src/server/shared/Utilities/Util.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/server/shared/Utilities/Util.h b/src/server/shared/Utilities/Util.h
index 6d0216225da..937cf4c9fd6 100644
--- a/src/server/shared/Utilities/Util.h
+++ b/src/server/shared/Utilities/Util.h
@@ -532,4 +532,36 @@ public:
}
};
+enum ComparisionType
+{
+ COMP_TYPE_EQ = 0,
+ COMP_TYPE_HIGH,
+ COMP_TYPE_LOW,
+ COMP_TYPE_HIGH_EQ,
+ COMP_TYPE_LOW_EQ,
+ COMP_TYPE_MAX
+};
+
+template <class T>
+bool CompareValues(ComparisionType type, T val1, T val2)
+{
+ switch (type)
+ {
+ case COMP_TYPE_EQ:
+ return val1 == val2;
+ case COMP_TYPE_HIGH:
+ return val1 > val2;
+ case COMP_TYPE_LOW:
+ return val1 < val2;
+ case COMP_TYPE_HIGH_EQ:
+ return val1 >= val2;
+ case COMP_TYPE_LOW_EQ:
+ return val1 <= val2;
+ default:
+ // incorrect parameter
+ ASSERT(false);
+ return false;
+ }
+}
+
#endif