aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/ai/je_state_machine.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libjin/ai/je_state_machine.h')
-rw-r--r--src/libjin/ai/je_state_machine.h38
1 files changed, 20 insertions, 18 deletions
diff --git a/src/libjin/ai/je_state_machine.h b/src/libjin/ai/je_state_machine.h
index 7d638c4..1765e97 100644
--- a/src/libjin/ai/je_state_machine.h
+++ b/src/libjin/ai/je_state_machine.h
@@ -34,6 +34,23 @@ namespace JinEngine
///
///
///
+ enum ParameterExpression
+ {
+ INT_BIGGER = 0x02,
+ INT_SMALLER = 0x04,
+ INT_EQUAL = 0x08,
+
+ FLOAT_BIGGER = 0x10,
+ FLOAT_SMALLER = 0x20,
+ FLOAT_EQUAL = 0x40,
+
+ BOOL_IS = 0x80,
+ BOOL_NOT = 0x100,
+ };
+
+ ///
+ ///
+ ///
typedef void(StateChangeCallback)(void* userdata);
///
@@ -104,17 +121,17 @@ namespace JinEngine
///
///
///
- void addTransitioni(const std::string& stateFrom, const std::string& stateTo, const std::string& name, int value);
+ void addTransitioni(const std::string& stateFrom, const std::string& stateTo, const std::string& name, ParameterExpression condition, int value);
///
///
///
- void addTransitionf(const std::string& stateFrom, const std::string& stateTo, const std::string& name, float value);
+ void addTransitionf(const std::string& stateFrom, const std::string& stateTo, const std::string& name, ParameterExpression condition, float value);
///
///
///
- void addTransitionb(const std::string& stateFrom, const std::string& stateTo, const std::string& name, bool value);
+ void addTransitionb(const std::string& stateFrom, const std::string& stateTo, const std::string& name, ParameterExpression condition, bool value);
///
///
@@ -200,21 +217,6 @@ namespace JinEngine
ParameterValue value;
};
- enum ParameterExpression
- {
- //
- INT_BIGGER = 0x02,
- INT_SMALLER = 0x04,
- INT_EQUAL = 0x08,
- //
- FLOAT_BIGGER = 0x10,
- FLOAT_SMALLER = 0x20,
- FLOAT_EQUAL = 0x40,
- //
- BOOL_IS = 0x80,
- BOOL_NOT = 0x100,
- };
-
///
/// Traslation's condition.
///