diff options
Diffstat (limited to 'src/libjin/ai/je_state_machine.h')
-rw-r--r-- | src/libjin/ai/je_state_machine.h | 38 |
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. /// |