/// <summary> /// フレーム更新処理 /// </summary> void IState.Update() { // ジャンプボタンが押されたら if (character.IsGlideStart == true) { // 滑空状態に移行 character.GlideStart(); // ブーストのキー入力を確認 playerCharge.BoostKeyCheck(); return; } // 着地したら if (character.IsGround == true) { // ラン状態に移行 character.RunStart(); // ブーストのキー入力を確認 playerCharge.BoostKeyCheck(); return; } // アクションボタンが押されたら if (character.IsSlideStart == true) { // 手すりをつかむ猶予時間 var catchSliderTime = playerSlide.catchSliderTime; // 手すりヒット判定 playerSlide.RayTimerStart(catchSliderTime); // 保留 演出の終了 // playerSlide.EffectOff(); // チャージ演出を一時停止する playerCharge.ChargeStop(); } // ショットボタンが押されたら if (character.IsAttack == true) { playerAttack.Attack(); } // 弾に当たったら if (playerAttack.IsHit == true) { // ダウン状態に移行 character.Down(); return; } // ブーストのキー入力を確認 playerCharge.BoostKeyCheck(); }
/// <summary> /// ステート開始処理 /// </summary> void IState.Start() { // 滑走の開始処理 playerSlide.StartSlide(); playerCharge.ChargeStop(); }