Esempio n. 1
0
    /// <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();
    }
Esempio n. 2
0
 /// <summary>
 /// ステート開始処理
 /// </summary>
 void IState.Start()
 {
     // 滑走の開始処理
     playerSlide.StartSlide();
     playerCharge.ChargeStop();
 }