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 ...

Get Learning C# by Developing Games with Unity 3D Beginner's Guide now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.