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