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; } }