namespace DefaultNamespace.FSM { public interface IState { void Enter(IFiniteStateMachine ctx); void Update(IFiniteStateMachine ctx); void Exit(IFiniteStateMachine ctx); } // alternative // public interface IStateEnter // { // void Enter(IFiniteStateMachine ctx); // } // // public interface IStateUpdate // { // void Update(IFiniteStateMachine ctx); // } // // public interface IStateExit // { // void Exit(IFiniteStateMachine ctx); // } }