/// <summary> /// Agent state machine. Handles state changing and state execution /// </summary> void StateMachine() { switch (states.currentPhase) { case DualShockerStates.DSPhases.PHASE1: { switch (states.currentState) { case DualShockerStates.DSStates.SPAWN: { states.Spawn(); break; } case DualShockerStates.DSStates.MOVEPHASE1: { states.MovePhase1(); states.ColoredAttack(); break; } } break; } case DualShockerStates.DSPhases.PHASE2: { switch (states.currentState) { case DualShockerStates.DSStates.TRANSITION: { states.Transition(); break; } case DualShockerStates.DSStates.MOVEPHASE2: { states.MovePhase2(); break; } case DualShockerStates.DSStates.DIE: { states.Die(); break; } } break; } } }