https://github.com/remora/remora.statemachine
Finite-state machines for C#
https://github.com/remora/remora.statemachine
Last synced: over 1 year ago
JSON representation
Finite-state machines for C#
- Host: GitHub
- URL: https://github.com/remora/remora.statemachine
- Owner: Remora
- License: lgpl-3.0
- Created: 2023-01-02T21:16:06.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-09-04T16:15:53.000Z (almost 2 years ago)
- Last Synced: 2025-03-28T19:54:00.778Z (over 1 year ago)
- Language: C#
- Size: 58.6 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
Remora.StateMachine
===================
Remora.StateMachine is a small library that can be used to build simple
[finite-state machines][1] which represent a system of distinct behavioural
states and the transitions between them.
Each state can be as complex or as simple as the user wants, and the library
does not make any particular distinctions between states and their behaviour.
The core purpose is to implement the driving machine itself, and leave the state
definitions up to the end user.
At its core, a state machine is made up of one or more types that implement the
`IState` interface. Potential transitions between states are declared by
implementing `ITransition`, and the initial state must implement `IInitialState`
[1]: https://en.wikipedia.org/wiki/Finite-state_machine