State Machine Frameworks
This is a set of scripts that work together to allow the programmer to easily setup and maintain a finite state machine for any purpose, with an integrated system for displaying different things (activating GameObjects) based upon the current state.
Finite State Machine Framework
Many games use Finite State Machines to control the flow of the game.
This Finite State Machine Framework for Unity consists of three main parts: A set of enums that define the states in the state machine and the transitions between the states. These enums allow the programmer to easily define in plain terms how the states interact with each other and how one state transitions to another state.
A State object that contains some basic functionality, but has some abstract functions that must be implemented in order to truly be useful.
A System object that maintains a list of states and allows them to be accessed from a singular point.
An example of how this framework can be used to implement AI can be found here:
Display State Framework
The display state framework is built to work with the Finite State Machine framework to allow the game designer to easily manage what is displayed on each state of the State Machine.
For more information, read these pages: