26 lines
672 B
C#
26 lines
672 B
C#
namespace DefaultNamespace.FSM
|
|
{
|
|
public interface IState
|
|
{
|
|
void Enter(IFiniteStateMachine ctx);
|
|
// IState Update(); // option 1 next state as return value
|
|
void Update(IFiniteStateMachine ctx); // option 2 we call setState when we want to change
|
|
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);
|
|
// }
|
|
} |