diff options
Diffstat (limited to 'src/libjin/ai/je_state_machine.h')
-rw-r--r-- | src/libjin/ai/je_state_machine.h | 55 |
1 files changed, 27 insertions, 28 deletions
diff --git a/src/libjin/ai/je_state_machine.h b/src/libjin/ai/je_state_machine.h index f53137e..2921ecd 100644 --- a/src/libjin/ai/je_state_machine.h +++ b/src/libjin/ai/je_state_machine.h @@ -6,6 +6,7 @@ #include <map> #include <vector> +#include <functional> #include "../common/je_temporary.h" #include "../common/je_types.h" @@ -28,12 +29,12 @@ namespace JinEngine /// enum ParameterExpression { - INT_BIGGER = 0x02, - INT_SMALLER = 0x04, + INT_GREATER = 0x02, + INT_LESS = 0x04, INT_EQUAL = 0x08, - FLOAT_BIGGER = 0x10, - FLOAT_SMALLER = 0x20, + FLOAT_GREATER = 0x10, + FLOAT_LESS = 0x20, FLOAT_EQUAL = 0x40, BOOL_IS = 0x80, @@ -150,27 +151,27 @@ namespace JinEngine /// /// /// - typedef void(StateChangeCallback)(void* userdata); - + typedef std::function<void(void*)> StateChangeCallback; + /// /// /// - typedef void(StateUpdateCallback)(void* userdata); + typedef std::function<void(void*)> StateUpdateCallback; /// /// /// - typedef void(StateTranslateCallback)(void* userdata); + typedef std::function<void(void*)> StateTranslateCallback; /// /// /// - typedef void(SingleStateCallback)(const std::string& stateName, void* userdata); + typedef std::function<void(const std::string&, void*)> SingleStateCallback; /// /// /// - typedef void(DoubleStateCallback)(const std::string& stateFrom, const std::string& stateTo, void* userdata); + typedef std::function<void(const std::string&, const std::string, void*)> DoubleStateCallback; /// /// State machine constructor. @@ -255,42 +256,42 @@ namespace JinEngine /// /// /// - void addEnterListener(const std::string& state, StateChangeCallback* callback); + void addEnterListener(const std::string& state, const StateChangeCallback& callback); /// /// Call state update function. /// - void addUpdateListener(const std::string& state, StateUpdateCallback* callback); + void addUpdateListener(const std::string& state, const StateUpdateCallback& callback); /// /// /// - void addExitListener(const std::string& state, StateChangeCallback* callback); + void addExitListener(const std::string& state, const StateChangeCallback& callback); /// /// /// - void addTranslateListener(const std::string& from, const std::string& to, StateChangeCallback* callback); + void addTranslateListener(const std::string& from, const std::string& to, const StateChangeCallback& callback); /// /// /// - void setEnterListener(SingleStateCallback* callback); + void setEnterListener(const SingleStateCallback& callback); /// /// /// - void setUpdateListener(SingleStateCallback* callback); + void setUpdateListener(const SingleStateCallback& callback); /// /// /// - void setExitListener(SingleStateCallback* callback); + void setExitListener(const SingleStateCallback& callback); /// /// /// - void setTranslateListener(DoubleStateCallback* callback); + void setTranslateListener(const DoubleStateCallback& callback); private: @@ -327,8 +328,6 @@ namespace JinEngine /// bool processCondition(const Condition& condition); - typedef void(Processor)(void*); - /// /// /// @@ -352,42 +351,42 @@ namespace JinEngine /// /// /// - std::map<std::string, StateChangeCallback*> mOnEnterState; + std::map<std::string, StateChangeCallback> mOnEnterState; /// /// /// - std::map<std::string, StateUpdateCallback*> mOnUpdateState; + std::map<std::string, StateUpdateCallback> mOnUpdateState; /// /// /// - std::map<std::string, StateChangeCallback*> mOnExitState; + std::map<std::string, StateChangeCallback> mOnExitState; /// /// From first to second. /// - std::map<std::pair<std::string, std::string>, StateTranslateCallback*> mOnStateTranslate; + std::map<std::pair<std::string, std::string>, StateTranslateCallback> mOnStateTranslate; /// /// /// - SingleStateCallback* mEnterCallback; + SingleStateCallback mEnterCallback; /// /// /// - SingleStateCallback* mUpdateCallback; + SingleStateCallback mUpdateCallback; /// /// /// - SingleStateCallback* mExitCallback; + SingleStateCallback mExitCallback; /// /// /// - DoubleStateCallback* mTraslateCallback; + DoubleStateCallback mTraslateCallback; /// /// Current state. |