Time for action – modifying PlayState to add another State

We still don't have any game logic to call for State switching, so we'll just simulate being killed in the game by detecting when the Return/Enter key is pressed. Add another if statement in the StateUpdate() method of PlayState, as shown in the following screenshot:

Time for action – modifying PlayState to add another State

What just happened?

That's it. That's all it takes to add another State. Simply call the SwitchState() method to instantiate any State class you wish.

The following is the Console output when you press Return/Enter while in PlayState:

What just happened?

What happens if you press the Return/Enter key while in any of the other States? Nothing, of course. There's no code for the Return/Enter key in the other States.

Note

This maybe a simple example, but it demonstrates how each State has its own controlling game code.

Adding OnGUI to the StateManager class

The IStateBase interface requires that each State class have the ShowIt() method. The ShowIt() method will also be called from the StateManager. It's time to connect this method with the StateManager code.

The StateManager class needs to have Unity's OnGUI() method. Just the way the UpDate() method transfers control to the StateUpdate() method on the active State, the OnGUI() method transfers control to the ShowIt() method on the active State as well.

Adding OnGUI to the StateManager class
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.138.37.191