This project implements a Finite-State-Machine (FSM) designed to be used in games.
 Furthermore it implements even a Stack-Based-FSM (SBFSM). So you may tell it to 'continue with the last state before the active one'.
 You describe your FSM using a nice and well documented DSL (Domain Specific Language).

 This machine also adds the function '.After(time)' to transitions so you can set timed transitions that don't necessarily have to have a trigger at all.
     This replaces the code we usually had for keyboard-input (run-left-right-duck-jump), clicked buttons on the GUI (idle-over-down-refreshing), tower-states (idle-aiming-firing-reloading) or for the connection procedure when setting up peer2peer connections in our games....
 This is a PCL (portable code library) so you should be able to use it in any of your MG projects.

There is a newer version of this package available.
See the version list below for details.
Install-Package MonoGameStateMachine -Version
dotnet add package MonoGameStateMachine --version
<PackageReference Include="MonoGameStateMachine" Version="" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add MonoGameStateMachine --version
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated 328 2/13/2018 266 1/27/2018 307 1/19/2018
1.0.9 243 11/4/2017 258 9/20/2017
1.0.2 247 9/9/2017