aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/ai/je_state_machine.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libjin/ai/je_state_machine.cpp')
-rw-r--r--src/libjin/ai/je_state_machine.cpp40
1 files changed, 20 insertions, 20 deletions
diff --git a/src/libjin/ai/je_state_machine.cpp b/src/libjin/ai/je_state_machine.cpp
index 7f1666c..27b24a0 100644
--- a/src/libjin/ai/je_state_machine.cpp
+++ b/src/libjin/ai/je_state_machine.cpp
@@ -29,10 +29,10 @@ namespace JinEngine
mTraslateCallback(from, to, mUserData);
if (mEnterCallback != nullptr)
mEnterCallback(to, mUserData);
- map<string, StateChangeCallback*>::iterator it = mOnExitState.find(from);
+ map<string, StateChangeCallback>::iterator it = mOnExitState.find(from);
if (it != mOnExitState.end())
it->second(mUserData);
- map<pair<string, string>, StateTranslateCallback*>::iterator transItr
+ map<pair<string, string>, StateTranslateCallback>::iterator transItr
= mOnStateTranslate.find(pair<string, string>(from, to));
if (transItr != mOnStateTranslate.end())
transItr->second(mUserData);
@@ -71,7 +71,7 @@ namespace JinEngine
// Call update
if (mUpdateCallback != nullptr)
mUpdateCallback(mCurrentState, mUserData);
- map<string, StateUpdateCallback*>::iterator uit = mOnUpdateState.find(mCurrentState);
+ map<string, StateUpdateCallback>::iterator uit = mOnUpdateState.find(mCurrentState);
if (uit != mOnUpdateState.end())
uit->second(mUserData);
}
@@ -107,7 +107,7 @@ namespace JinEngine
// Call update
if (mUpdateCallback != nullptr)
mUpdateCallback(mCurrentState, mUserData);
- map<string, StateUpdateCallback*>::iterator uit = mOnUpdateState.find(mCurrentState);
+ map<string, StateUpdateCallback>::iterator uit = mOnUpdateState.find(mCurrentState);
if (uit != mOnUpdateState.end())
uit->second(mUserData);
// Recursive.
@@ -145,9 +145,9 @@ namespace JinEngine
int value = p.value._int;
int cvalue = condition.value._int;
bool is = false;
- is |= ((condition.expression & ParameterExpression::INT_BIGGER) ? value > cvalue : false);
+ is |= ((condition.expression & ParameterExpression::INT_GREATER) ? value > cvalue : false);
is |= ((condition.expression & ParameterExpression::INT_EQUAL) ? value == cvalue : false);
- is |= ((condition.expression & ParameterExpression::INT_SMALLER) ? value < cvalue : false);
+ is |= ((condition.expression & ParameterExpression::INT_LESS) ? value < cvalue : false);
return is;
}
case ParameterType::Float:
@@ -155,9 +155,9 @@ namespace JinEngine
float value = p.value._float;
float cvalue = condition.value._float;
bool is = false;
- is |= ((condition.expression & ParameterExpression::FLOAT_BIGGER) ? value > cvalue : false);
+ is |= ((condition.expression & ParameterExpression::FLOAT_GREATER) ? value > cvalue : false);
is |= ((condition.expression & ParameterExpression::FLOAT_EQUAL) ? value == cvalue : false);
- is |= ((condition.expression & ParameterExpression::FLOAT_SMALLER) ? value < cvalue : false);
+ is |= ((condition.expression & ParameterExpression::FLOAT_LESS) ? value < cvalue : false);
return is;
}
case ParameterType::Bool:
@@ -380,37 +380,37 @@ namespace JinEngine
mCurrentState = name;
}
- void StateMachine::addEnterListener(const std::string& state, StateChangeCallback* callback)
+ void StateMachine::addEnterListener(const std::string& state, const StateChangeCallback& callback)
{
if (mOnEnterState.find(state) != mOnEnterState.end())
{
jin_log_error("The enter listener of %s is already exist.", state);
return;
}
- mOnEnterState.insert(pair<string, StateChangeCallback*>(state, callback));
+ mOnEnterState.insert(pair<string, StateChangeCallback>(state, callback));
}
- void StateMachine::addUpdateListener(const std::string& state, StateUpdateCallback* callback)
+ void StateMachine::addUpdateListener(const std::string& state, const StateUpdateCallback& callback)
{
if (mOnUpdateState.find(state) != mOnUpdateState.end())
{
jin_log_error("The update listener of %s is already exist.", state);
return;
}
- mOnUpdateState.insert(pair<string, StateUpdateCallback*>(state, callback));
+ mOnUpdateState.insert(pair<string, StateUpdateCallback>(state, callback));
}
- void StateMachine::addExitListener(const std::string& state, StateChangeCallback* callback)
+ void StateMachine::addExitListener(const std::string& state, const StateChangeCallback& callback)
{
if (mOnExitState.find(state) != mOnExitState.end())
{
jin_log_error("The exit listener of %s is already exist.", state);
return;
}
- mOnExitState.insert(pair<string, StateChangeCallback*>(state, callback));
+ mOnExitState.insert(pair<string, StateChangeCallback>(state, callback));
}
- void StateMachine::addTranslateListener(const std::string& from, const std::string& to, StateChangeCallback* callback)
+ void StateMachine::addTranslateListener(const std::string& from, const std::string& to, const StateChangeCallback& callback)
{
if (mOnStateTranslate.find(pair<string, string>(from, to)) != mOnStateTranslate.end())
{
@@ -418,25 +418,25 @@ namespace JinEngine
return;
}
pair<string, string> key(from, to);
- mOnStateTranslate.insert(pair<pair<string, string>, StateTranslateCallback*>(key, callback));
+ mOnStateTranslate.insert(pair<pair<string, string>, StateTranslateCallback>(key, callback));
}
- void StateMachine::setUpdateListener(SingleStateCallback* callback)
+ void StateMachine::setUpdateListener(const SingleStateCallback& callback)
{
mUpdateCallback = callback;
}
- void StateMachine::setEnterListener(SingleStateCallback* callback)
+ void StateMachine::setEnterListener(const SingleStateCallback& callback)
{
mEnterCallback = callback;
}
- void StateMachine::setExitListener(SingleStateCallback* callback)
+ void StateMachine::setExitListener(const SingleStateCallback& callback)
{
mExitCallback = callback;
}
- void StateMachine::setTranslateListener(DoubleStateCallback* callback)
+ void StateMachine::setTranslateListener(const DoubleStateCallback& callback)
{
mTraslateCallback = callback;
}