コード例 #1
0
    public void UpdateLevel()
    {
        if (CScore.GetScore() >= Level[iLevel].iGoal)
        {
            if (isEnd)  // 終了
            {
                CPauser.Pause();
                CScore.AddFScore();
                CScore.AddFScore();
                CScore.AddFScore();
                CSceneManager CSM = GameObject.Find("FadeCanvas").GetComponent <CSceneManager>();
                CSM.OnChangeScene_Result();
            }
            else
            {
                // 現在時間取得
                float endtime = gTimer.GetComponent <CNumberManager>().Get_fTime();

                // ステージクリア時間算出
                float totaltime = endtime - fStartTime;
                int   timelimit = Level[iLevel].iMinutes * 60 + Level[iLevel].iSeconds;
                Level[iLevel].fTotalTime = totaltime;
                if (totaltime > timelimit || iLevel >= 5) // 制限時間内にクリアしなかったら次のステージで終了
                {
                    isEnd = true;
                }
                // スタート時間更新
                fStartTime = endtime;

                iLevel++;
                gScore.GetComponent <CScore>().Set_iScoreParam(Level[iLevel].iGoal);
                CObjectManager.Instance.Create(Level[iLevel].iObjectNum - Level[iLevel - 1].iObjectNum);
            }
        }
    }
コード例 #2
0
ファイル: CTimer.cs プロジェクト: 3162alf/-2021
    void Update()
    {
        // 総合時間がなくなったら処理を飛ばす
        if (fTotalTime <= 0.0f)
        {
            return;
        }

        // 総合時間の更新
        fTotalTime = fMinute * 60 + fSeconds;

        // 総合時間の減算
        fTotalTime -= Time.deltaTime;

        // 分数の算出
        fMinute = (int)fTotalTime / 60;

        // 秒数の算出
        fSeconds = fTotalTime - fMinute * 60;

        if ((int)fSeconds != (int)fOldSeconds)
        {
            Debug.Log("通った");

            // 子オブジェクトがタイマーのスプライトなのでそれを消す
            GameObject obj = GameObject.Find("PFB_TimerController");

            foreach (Transform child in obj.transform)
            {
                Destroy(child.gameObject);
            }

            // 一番左のゼロ
            CreateNum(0, 3.5f);

            // コロンごり押し生成
            CreateColon(0.0f);

            // 分割
            CreateNum((int)fMinute, 2.0f);

            // 秒数の幅調整用
            if ((int)fSeconds >= 10)
            {
                CreateNum((int)fSeconds, -1.3f);
            }

            if ((int)fSeconds < 10)
            {
                CreateNum((int)fSeconds, -2.0f);
                CreateNum(0, -0.4f);
            }
        }

        // 一個前の秒数に現在の時間を代入
        fOldSeconds = fSeconds;


        // 総合時間がなくなったらリザルト画面に遷移する
        if (fTotalTime <= 0.0f)
        {
            script.OnChangeScene_Result();
        }
    }