A way for other parts of the engine to know and change the current global game state. For example, generic game states could be: MainMenu, Playing and Paused.
Other modules can implement their own states and add them to the global state machine. Also, this system needs helper functions to get the current state, set the current state and to add states to the FSM.
This system in the end can be used for example to check if the game is in the Playing state before pausing the game.
A way for other parts of the engine to know and change the current global game state. For example, generic game states could be: *MainMenu*, *Playing* and *Paused*.
Other modules can implement their own states and add them to the global state machine. Also, this system needs helper functions to get the current state, set the current state and to add states to the FSM.
This system in the end can be used for example to check if the game is in the *Playing* state before pausing the game.
A way for other parts of the engine to know and change the current global game state. For example, generic game states could be: MainMenu, Playing and Paused.
Other modules can implement their own states and add them to the global state machine. Also, this system needs helper functions to get the current state, set the current state and to add states to the FSM.
This system in the end can be used for example to check if the game is in the Playing state before pausing the game.