Пример #1
0
        IEnumerator EndAnimation()
        {
            GameData.Score = GameMode == GameMode.TimeAttack ? GameTime : (GameData.Player.Distance / 10f);
            switch (EndingType)
            {
            case EEnding.Goal:
                highScoreManager.UpdateHighScore(GameMode);
                yield return(new WaitForSeconds(1.5f));

                clearText.Display();
                yield return(new WaitForSeconds(1f));

                timeText.text = $"タイム:{GameTime:00.00}";
                timeText.gameObject.SetActive(true);
                yield return(new WaitForSeconds(1f));

                rankText.Display();
                yield return(new WaitForSeconds(1f));

                SceneManager.LoadScene(2, LoadSceneMode.Additive);
                break;

            case EEnding.Bomb:
                if (GameMode == GameMode.Endless)
                {
                    highScoreManager.UpdateHighScore(GameMode);
                }
                gameOver.SetObject();
                yield return(new WaitForSeconds(6.5f));

                videoPlayer.gameObject.SetActive(false);
                gameOver.gameObject.SetActive(true);
                yield return(new WaitForSeconds(1f));

                SceneManager.LoadScene(2, LoadSceneMode.Additive);
                break;

            case EEnding.Net:
                if (GameMode == GameMode.Endless)
                {
                    highScoreManager.UpdateHighScore(GameMode);
                }
                gameOver.SetObject();
                yield return(new WaitForSeconds(3));

                videoPlayer.gameObject.SetActive(false);
                gameOver.gameObject.SetActive(true);
                yield return(new WaitForSeconds(1f));

                SceneManager.LoadScene(2, LoadSceneMode.Additive);
                break;
            }
        }