diff options
author | chai <chaifix@163.com> | 2018-11-13 08:27:26 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2018-11-13 08:27:26 +0800 |
commit | 75792c15480d3d99b2ba7e79e143e4b569b22611 (patch) | |
tree | 61e3abc45326c67d348e08400da11f60dff18fa3 /examples/state_machine/main.cpp | |
parent | c7e59fb376453e5abad8c862b52eb0f4c7ba829b (diff) |
*修改lua ref
Diffstat (limited to 'examples/state_machine/main.cpp')
-rw-r--r-- | examples/state_machine/main.cpp | 33 |
1 files changed, 25 insertions, 8 deletions
diff --git a/examples/state_machine/main.cpp b/examples/state_machine/main.cpp index 7d83d2b..c061a81 100644 --- a/examples/state_machine/main.cpp +++ b/examples/state_machine/main.cpp @@ -14,16 +14,33 @@ using namespace JinEngine::Time; ParticleSystem* p; StateMachine sm; Timer timer; +enum +{ + STATE_EMPTY = 0, + STATE_RUN, + STATE_IDLE, + STATE_SLEEP, + STATE_JUMP +}; + +enum +{ + PARAM_RUN = 1, + PARAM_IDLE = 2, + PARAM_IDLE2 = 3, + PARAM_RUN = 4 +}; + void onLoad() { - sm.addState("Run"); - sm.addState("Idle"); - sm.addState("Sleep"); - sm.addState("Jump"); - sm.addParametert("run"); - sm.addParameterb("idle"); - sm.addParameterb("idle2"); - sm.addTransition("Empty", "Idle", StateMachine::Conditions().andt("run")); + sm.addState(STATE_RUN); + sm.addState(STATE_IDLE); + sm.addState(STATE_SLEEP); + sm.addState(STATE_JUMP); + sm.addParametert(PARAM_RUN); + sm.addParameterb(PARAM_IDLE); + sm.addParameterb(PARAM_IDLE2); + sm.addTransition(STATE_EMPTY, STATE_IDLE, StateMachine::Conditions().andt(PARAM_RUN)); sm.addTransition("Idle", "Run", StateMachine::Conditions().andb("idle", StateMachine::BOOL_IS, true).andb("idle2", StateMachine::BOOL_IS, true)); sm.setEnterListener([](const string& state, void* p) { cout << "Enter: " << state << endl; |