Following the State Machine logic flow
The heart of the State Machine is the StateManager
script. This is a Unity class, so it inherits from the MonoBehaviour
class. The script is attached to a GameObject to become a Component. The following are the three core features that the StateManager
script handles:
Delegating game control to a State
Switching to another State when called to do so
Keeping track of the active State
Delegating game control to a State
The StateManager
script is like any other Unity script. It is attached to a GameObject and becomes a Component object. The StateManager
script uses the Update()
method to pass the game control to the active State as shown in the following diagram:
Note
The following diagram does not show complete code statements.
The game control code that's usually in an Update()
method is instead delegated to the StateUpdate()
method on the activeState
object. So every time Unity calls the Update()
method on the StateManager
Component, the StateUpdate()
method...