Skip to content

StateMachine

GMIKE edited this page Jun 20, 2020 · 16 revisions

Сontent

Create

StateMachinestateMachine=newStateMachine();

Import

You can import state machine to xml

StateMachinestateMachine=StateMachine.FromXDocument("fileName.xml");StateMachinestateMachine=newStateMachine("fileName.xml");

Export

You can export state machine to xml

stateMachine.ToXDocument("fileName.xml");

Logging

For logging you need use ILogger

//Example create loggervarloggerFactory=LoggerFactory.Create(builder =>{builder.AddConsole().AddDebug().SetMinimumLevel(LogLevel.Debug);});varlogger=loggerFactory.CreateLogger<StateMachine>();StateMachinestateMachine=newStateMachine(logger);StateMachinestateMachine=StateMachine.FromXDocument("fileName.xml",logger);StateMachinestateMachine=newStateMachine("fileName.xml",logger);

OnChangeState

Triggered after entry to new state.

Action Syntax

voidActionOnChangeState(StatestateFrom,StatestateTo){}

Add action

stateMachine.OnChangeState(ActionOnChangeState);

CurrentState

You can get current state or it name

StatecurrentState=StateMachine.CurrentState;stringcurrentStateName=StateMachine.CurrentStateName;

PreviousState

You can get previus state or it name

Stateprevius State =StateMachine.PreviousState;stringpreviusStateName=StateMachine.PreviousStateName;

CurrentTransition

You can get current transition or it name

TransitioncurrentTransition=StateMachine.CurrentTransition;stringcurrentTransitionName=StateMachine.CurrentTransitionName;

Clone this wiki locally