Example #1
0
    // ゲームのアップデート.
    void UpdatePlay()
    {
        // ステージをセットする
        m_stageNow.SetStage();
        m_stageNext.SetStage();

        m_backGround1.SetBackGround();
        m_backGround2.SetBackGround();

        // ゲームプレイ時間の計測
        m_timer.time += Time.deltaTime;
        m_score.SetTime(m_timer.time);

        if (m_rocket.m_fuel > 0)
        {
            // ロケット操作.
            m_rocket.OperationRocket();
        }
        else
        {
            // 燃料がなくなったら動けない.
            if (m_rocket.m_propulsionFlag)
            {
                m_rocket.m_propulsion.transform.position = new Vector2(1000, 1000);
            }
            m_rocket.m_propulsionFlag = false;
        }

        //ロケット更新.
        m_rocket.UpdateRocket();

        if (m_rocket.m_landing)
        {
            if (m_rocket.CheckClear())
            {
                // スコアの計算
                m_score.ComputeScore();
                // 着地成功.
                Transit(eStatus.eStageClear);
            }
            else
            {
                // 着地失敗.
                Transit(eStatus.eGameOver);
            }
        }
        if (m_rocket.m_forcedLanding)
        {
            // 着地失敗.
            Transit(eStatus.eGameOver);
        }

        m_fuelMeter.SetPosition();
        m_fuelMeter.MeterColorChange();
    }