Finite State Machines in C# – getting started
Now that the FSM for animation is completed, we should turn our attention to an FSM in C# that governs the behavior of the enemy as well as initiates our triggers in the Mecanim graph to play the appropriate animations (walk and run) at the right time. To begin the implementation, add the following public enumeration to the top of the AI_Enemy.cs
script file, as shown in the following code sample 7-1. This enumeration defines all the possible states in the FSM for the enemy, and each state is assigned its unique string hash code; that is, the IDLE
state is assigned the value of 2081823275
, which is the hash code for the string IDLE
, and so on. This will be important later to work with Mecanim and specifically to initiate triggers. You can retrieve the hash code for a string using the StringToHash
function of the Animator
class, as shown here:
//Define possible states for enemy public enum AI_ENEMY_STATE {IDLE = 2081823275, ...