IEnumerator StartGame() { //Set towers evolution foreach (var tower in FindObjectsOfType <TowerController>()) { tower.SetLastEvolution(currentSettings.towersMaxEvolution); } //Set Timer levelTimer.SetTimerLimit(currentSettings.levelMaxTime); hudManager.UpdateCountdown(levelTimer.GetTimer()); //yield return StartCoroutine(hudManager.FadeHud(0)); hudManager.HideHUD(); //Check if tutorial is already played else start it if (!PlayerPrefs.HasKey("INTRO")) { PlayerPrefs.SetString("INTRO", "true"); yield return(StartCoroutine(tutorialManager.PlayTutorial())); } hudManager.StartCountdown(); yield return(new WaitForSeconds(5.2f)); hudManager.ShowHUD(); yield return(StartCoroutine(hudManager.FadeHud(1))); CharacterName character = (CharacterName)Enum.Parse(typeof(CharacterName), PlayerPrefs.GetString("CHARACTER", CharacterName.Character1.ToString())); playerSpawner.InitPlayer(character); levelTimer.ResetTimer(); gameStarted = true; }