Skip to content
GMIKE edited this page Jun 2, 2020 · 15 revisions

Сontent

Create

//Throw exeption if state already existStatestate1=stateMachine.AddState("State1");//Return null if state already existStatestate1=stateMachine.TryAddState(outboolresult,"State1");

Get

//Throw exeption if state not foundStatestate1=stateMachine.GetState("State1");//Return null if state not foundStatestate1=stateMachine.TryGetState("State1",outboolresult);

Exists

//You can check on existsboolstate1IsExists=stateMachine.StateExists("State1");

Delete

Delete with name

//Throw exeption if state not foundstateMachine.DeleteState("State1");stateMachine.TryDeleteState("State1");

Delete with object

//Throw exeption if state not foundstateMachine.DeleteState(state1);stateMachine.TryDeleteState(state1);//Throw exeption if state already delete from state machinestate1.Delete();state1.TryDelete(outboolresult);

Entry

Triggered after invoke transition. You can set many action for one state, but transition will be invoke that was called last

Action Syntax

Read about action parameters

voidActionOnEtnry(Statestate,Dictionary<string,object>parameters){//you need invoke transition in entry or exit action, differently work state machine will be endstate.StateMachine.InvokeTransition("Transition1");}

Add action

//you can set action with addStatestate1=stateMachine.AddState("State1",actionOnEntry:ActionOnEtnry);//you can set action after addStatestate1=stateMachine.AddState("State1").OnEntry(ActionOnEtnry);state1.OnEntry(ActionOnEtnry);

Exit

Triggered after entry to state. You can set many action for one state, but transition will be invoke that was called last

Action Syntax

Read about action parameters

voidActionOnExit(Statestate,Dictionary<string,object>parameters){//you need invoke transition in entry or exit action, differently work state machine will be endstate.StateMachine.InvokeTransition("Transition1");}

Add action

//you can set action with addStatestate1=stateMachine.AddState("State1",actionOnExit:ActionOnExit);//you can set action after addStatestate1=stateMachine.AddState("State1").OnExit(ActionOnExit);state1.OnExit(ActionOnExit);

You can say actions on entry and exit together with add

Statestate1=stateMachine.AddState("State1",actionOnEntry:ActionOnEtnry,actionOnExit:ActionOnExit);

Clone this wiki locally