// 状態変更 public void ChangeState(IFSMInterface state, object context) { PopState(context); PushState(state, context); }
public void PushState(IFSMInterface subState, object context) { subState.Entry(context); currentState.Push(subState); }
public FSM(IFSMInterface initialState) { currentState.Push(initialState); }