namespace AI.FSM { public interface IState { void Enter(IFiniteStateMachine fsm); void Update(IFiniteStateMachine fsm); void Exit(IFiniteStateMachine fsm); } // alternative // public interface IStateEnter // { // void Enter(IFiniteStateMachine fsm); // } // // public interface IStateUpdate // { // void Update(IFiniteStateMachine fsm); // } // // public interface IStateExit // { // void Exit(IFiniteStateMachine fsm); // } // works, but not recommended // public enum States // { // Idle, // Chase, // PlayerDetected, // PlayerIsClose, // PlayerIsNotClose // } }