//切换游戏区域步骤的状态 public void ChangePlayAreaState(PlayAreaStateEnum playAreaStateEnum, object data = null) { if (playAreaStateMachine != null) { playAreaStateMachine.ChangeState(playAreaStateEnum, data); } }
public void ChangeState(PlayAreaStateEnum playAreaStateEnum, object data = null) { if (currentState != null) { currentState.OnStateExit(data); } IState newState = playAreaStateDic[playAreaStateEnum]; newState.OnStateEnter(data); currentState = newState; }