Exemple #1
0
        private void Start()
        {
            ElapsedTime elapsedTimePersistentObject = GameObject.FindObjectOfType <ElapsedTime>();
            Score       scorePersistentObject       = GameObject.FindObjectOfType <Score>();
            Hits        hitsPersistentObject        = GameObject.FindObjectOfType <Hits>();

            elapsedText.text = elapsedTimePersistentObject.GetElapsedTime().ToString("F0") + " s";
            scoreText.text   = scorePersistentObject.GetScore().ToString("F0") + " points";
            hitsText.text    = hitsPersistentObject.GetHits().ToString("F0");
        }
    public void Update()
    {
        if (timer == null || progress == null || life == null || pauser == null)
        {
            return;
        }

        // 残りのゲーム時間を表示する.
        timer.Time(elapsedTime.GetElapsedTime());
        progress.Progress(elapsedTime.GetElapsedTime());

        if (life.Lives == 0 || elapsedTime.GetElapsedTime() == 3600)
        {
            // 残機が0になったり最後まで生き残ったらすべてのGameObjectを止める.
            pauser.PauseAll();

            // リザルト画面を生成する.
            Object result = Resources.Load("Result");
            if (result == null)
            {
                return;
            }

            GameObject instance = Instantiate(result, this.transform) as GameObject;

            string text = (life.Lives > 0) ? "クリアしました!" : "ゲームオーバー......";
            foreach (Transform t in instance.transform)
            {
                // リザルト画面にテキストを表示する.
                if (t.name != "MainText")
                {
                    continue;
                }
                t.GetComponent <UnityEngine.UI.Text>().text = text;
            }
        }

        elapsedTime.Tick();
    }