Enemy movement
As spooky as the character is, right now, it is just a static mesh. It will not come to us to damage us, and we cannot damage it. Let's fix that next using the state machines we've just learned about! Perform the following steps:
Create a new script called
EnemyBehaviour
.We want our enemy to follow the player if they get too close to them; however, they will stay where they are if the player gets far enough away. Finally, if, for some reason, we defeat the enemy, they should no longer run this behavior, and we should kill them. The first step to creating a state machine is to extract the states that the object can be in. In this case, we have three states:
Idle
,Following
, andDeath
. Just as we discussed in Chapter 2, Creating GUIs, using an enumeration is the best tool for the job here as well.Add the following code to the top of the
EnemyBehaviour
class:public enum State { Idle, Follow, Die, } // The current state the player is in public State state...