private IEnumerator OnGameStartRoutine() { Timer newTimer = GameUtilities.CreateNewTimer(); float animationFinishTime = waveSpawnerUI.ShowWaveSpawnerUI(); yield return(new WaitForSeconds(animationFinishTime + 0.5f)); newTimer.StartTimer(gameStartTime); while (newTimer != null) { waveSpawnerUI.SetCountdownText(newTimer.TimeLeft); yield return(null); } waveSpawnerUI.SetCountdownText("Round Started!"); yield return(new WaitForSeconds(0.5f)); waveSpawnerUI.HideWaveSpawnerUI(); GameObject waveSpawnerPrefab = Resources.Load <GameObject>("Prefabs/Components/prefab_WaveSpawner"); WaveSpawner newWaveSpawner = Instantiate(waveSpawnerPrefab).GetComponent <WaveSpawner>(); currentWaveSpawner = newWaveSpawner; newWaveSpawner.StartFirstRound(waveSpawnerUI); yield break; }