public void ChangeMissionState(MissionState nextState) { if (nowPlayerState != null) { nowPlayerState.StateEndAction();//前のステートの終了処理 } nowPlayerState = playerStatus[nextState.ToString()]; nowPlayerState.StateBeginAction();//現在のステートの開始処理 }
/// <summary> /// ステート切り替え /// </summary> /// <param name="nextState"></param> private void ChangeState(MissionPlayerStateBase nextState) { if (nowPlayerState != null) { nowPlayerState.StateEndAction();//前のステートの終了処理 } nowPlayerState = nextState; nowPlayerState.StateBeginAction();//現在のステートの開始処理 }