void UpdateFadeOutOrion()
    {
        float alpha = Mathf.Clamp01(currentTimer / orionFadeTime);

        overlay.GetComponent <Image>().color = new Vector4(1, 1, 1, alpha);

        if (alpha == 1.0f)
        {
            float loopLength      = musicHandler.GetCurrentSequenceLength();
            float currentLoopTime = musicHandler.GetCurrentSequenceTime();

            float minimumLoops = currentLoopTime < musicHandler.GetLoopFadeTime() ? 1 : 2;

            float nrOfLoops = Mathf.Max(minimumLoops, Mathf.Ceil((currentLoopTime + minCreditsTime) / loopLength));
            creditsTime = nrOfLoops * loopLength - currentLoopTime;

            credits.StartCredits(creditsTime);

            SetState(State.Credits);
            musicHandler.TriggerLoopSequence(musicTrigger);
        }
    }
    void UpdateFadeToBlack()
    {
        float alpha = Mathf.Clamp01(currentTimer / fadeToBlack);

        overlay.GetComponent <Image>().color = new Vector4(0, 0, 0, alpha);

        if (!triggeredMusic && musicHandler.GetCurrentSequenceTime() > musicHandler.GetLoopFadeTime())
        {
            triggeredMusic = true;
            musicHandler.TriggerLoopSequence(musicTrigger);
        }

        if (alpha == 1)
        {
            GameHandler.sceneLoader.LoadScene(nextScene);
        }
    }
    void UpdateFadeToWhite()
    {
        float alpha = Mathf.Clamp01(currentTimer / fadeToWhiteTime);

        white.GetComponent <Image>().color = new Vector4(1, 1, 1, alpha);

        if (!musicTriggered)
        {
            float fadeTimeLeft = fadeToWhiteTime - currentTimer;
            if (fadeTimeLeft < musicHandler.GetCurrentSequenceLength() - musicHandler.GetLoopFadeTime())
            {
                musicTriggered = true;
                musicHandler.TriggerLoopSequence(musicTrigger);
            }
        }

        if (alpha == 1)
        {
            GameHandler.sceneLoader.LoadScene(nextScene);
        }
    }