A C# library for realization simple state-machine on .Net
If you like or are using this project please give it a star. Thanks!
Create state machine in three steps :
1. Create scheme in node editor🔗 and load it in your project using this library📚
StateMachine stateMachine = new StateMachine("scheme.xml");
2. Describe your app logic on events⚡
stateMachine.GetState("State1").OnExit(Action1);
stateMachine.GetState("State2").OnEntry(Action2);
stateMachine.GetTransition("Transition1").OnInvoke(Action3);
stateMachine.OnChangeState(Action4);
3. Run the state machine🚘
stateMachine.Start();
State machine properties:
- Start state
- Entry/exit events for state
- Invoke event for transition
- Parameters for transitions
- Parameters for entry/exit for state
Useful extensions for work:
- State changed event for state machine
- Data for sharing between states
- Change event for data
- Export/Import to/from XML
- Logging
Install from Nuget:
Install-Package SimpleStateMachineLibrary
Documentation here: https://github.com/SimpleStateMachine/SimpleStateMachineLibrary/wiki
If you think you have found a bug, create a github issue.
But if you just have questions about how to use:
Copyright (c) SimpleStateMachine
Licensed under the MIT license.