From 9c5dc853ec5ceba809e7f02cdde87c90544a45e1 Mon Sep 17 00:00:00 2001 From: chai Date: Tue, 6 Nov 2018 16:12:56 +0800 Subject: =?UTF-8?q?*=E7=8A=B6=E6=80=81=E6=9C=BA=E6=9D=A1=E4=BB=B6=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E5=A4=9A=E9=87=8D=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples/state_machine/main.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'examples/state_machine/main.cpp') diff --git a/examples/state_machine/main.cpp b/examples/state_machine/main.cpp index 0b7e191..ffcf8e9 100644 --- a/examples/state_machine/main.cpp +++ b/examples/state_machine/main.cpp @@ -23,11 +23,9 @@ void onLoad() sm.addState("Jump"); sm.addParametert("run"); sm.addParameterb("idle"); - /*sm.addTransitionb("Empty", "Idle", "run", StateMachine::BOOL_IS, true); - sm.addTransitionb("Idle", "Run", "run", StateMachine::BOOL_IS, false); - */ - sm.addTransitiont("Empty", "Idle", "run"); - sm.addTransitiont("Idle", "Run", "run"); + sm.addParameterb("idle2"); + sm.addTransition("Empty", "Idle", StateMachine::Conditions().andt("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; }); @@ -47,9 +45,16 @@ void onLoad() //timer.cancel(hnd); }, NULL); timer.after(5000, [](void*) { + sm.setParameterb("idle", true); sm.setParametert("run"); + timer.cancelAll(); //sm.setParameterb("run", false); }, NULL); + timer.after(8000, [](void*) { + sm.setParameterb("idle2", true); + //sm.setParameterb("run", false); + timer.cancel(); + }, NULL); } void onEvent(Event* e) -- cgit v1.1-26-g67d0