public void ChangeState(EPlayerState state) { currentState.Exit(animator); //前のステートの終了処理 currentState = PlayerAnimeFactory.GetState(state); //ステートを取得 currentState.Execute(animator); //ステートを実行 }
private IAnimeState currentState; //現在のステート void Start() { animator = GetComponent <Animator>(); //Animatorを取得 currentState = PlayerAnimeFactory.GetState(EPlayerState.Stay); }