All Projects → SimpleStateMachine → SimpleStateMachineLibrary

SimpleStateMachine / SimpleStateMachineLibrary

Licence: MIT License
📚 A simple library for realization state machines in C# code

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to SimpleStateMachineLibrary

statemachine-go
🚦 Declarative Finite-State Machines in Go
Stars: ✭ 47 (+56.67%)
Mutual labels:  state-machine, state, finite-state-machine, statemachine
Hal
🔴 A non-deterministic finite-state machine for Android & JVM that won't let you down
Stars: ✭ 63 (+110%)
Mutual labels:  state-machine, state, finite-state-machine
StateBuilder
State machine code generator for C++ and Java.
Stars: ✭ 30 (+0%)
Mutual labels:  state-machine, state, finite-state-machine
xstate
State machines and statecharts for the modern web.
Stars: ✭ 21,286 (+70853.33%)
Mutual labels:  state-machine, state, finite-state-machine
simple-state-machine
A simple Java state machine for Spring Boot projects
Stars: ✭ 25 (-16.67%)
Mutual labels:  state-machine, finite-state-machine, statemachine
Finity
A finite state machine library for Node.js and the browser with a friendly configuration DSL.
Stars: ✭ 88 (+193.33%)
Mutual labels:  state-machine, state, finite-state-machine
pastafarian
A tiny event-based finite state machine
Stars: ✭ 20 (-33.33%)
Mutual labels:  state-machine, finite-state-machine, statemachine
REstate
Portable state-flows (state-machine based workflows)
Stars: ✭ 35 (+16.67%)
Mutual labels:  state-machine, netstandard
tsm
A Hierarchical State Machine Framework in C++
Stars: ✭ 30 (+0%)
Mutual labels:  state-machine, finite-state-machine
UT Framework
Various advanced tools built for Unreal Engine 4
Stars: ✭ 45 (+50%)
Mutual labels:  state-machine, statemachine
tstate-machine
TypeScript implementation of State Manager(like StateMachine)
Stars: ✭ 20 (-33.33%)
Mutual labels:  state-machine, state
smacha
SMACHA is a meta-scripting, templating, and code generation engine for rapid prototyping of ROS SMACH state machines.
Stars: ✭ 15 (-50%)
Mutual labels:  state-machine, finite-state-machine
use-state-machine
Use Finite State Machines with React Hooks
Stars: ✭ 28 (-6.67%)
Mutual labels:  state-machine, finite-state-machine
stateless
Finite State Machine porting from Stateless C#
Stars: ✭ 25 (-16.67%)
Mutual labels:  state-machine, finite-state-machine
go-sm
A finite-state machine library for the Go programming language
Stars: ✭ 14 (-53.33%)
Mutual labels:  state-machine, finite-state-machine
FiniteStateMachine
This project is a finite state machine designed to be used in games.
Stars: ✭ 45 (+50%)
Mutual labels:  state-machine, finite-state-machine
flviz
FLVIz - Finite Automata Simulator written in QT/Graphviz
Stars: ✭ 36 (+20%)
Mutual labels:  state-machine, finite-state-machine
UnityHFSM
A simple yet powerful class based hierarchical finite state machine for Unity3D
Stars: ✭ 243 (+710%)
Mutual labels:  state-machine, finite-state-machine
useStateMachine
The <1 kb state machine hook for React
Stars: ✭ 2,231 (+7336.67%)
Mutual labels:  state-machine, statemachine
Xstate
State machines and statecharts for the modern web.
Stars: ✭ 18,300 (+60900%)
Mutual labels:  state-machine, state

NuGet Pre Release NuGet Downloads Build Status

SimpleStateMachineLibrary

A C# library for realization simple state-machine on .Net

Give a Star!

If you like or are using this project please give it a star. Thanks!

Why SimpleStateMachine?

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();

Features💡

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

Getting Started📂

Install from Nuget:

 Install-Package SimpleStateMachineLibrary 

Documentation📄

Documentation here: https://github.com/SimpleStateMachine/SimpleStateMachineLibrary/wiki

FAQ

If you think you have found a bug, create a github issue.

But if you just have questions about how to use:

License📑

Copyright (c) SimpleStateMachine

Licensed under the MIT license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].