//Scene management should really be considered earlier in future projects
    private async void LoadNextLevel()
    {
        fadeAnim.Play("fade");
        uiSound.Play();
        SceneManager.currentLevel++;
        levelTimer = GetTree().Root.GetNode <LevelTimer>("Node2D/Timer");
        levelTimer.SubmitTime();
        if (SceneManager.currentLevel < SceneManager.levelScenes.Length)
        {
            await ToSignal(GetTree().CreateTimer(1f), "timeout");

            GetTree().ChangeScene(SceneManager.levelScenes[SceneManager.currentLevel]);
        }
        else
        {
            await ToSignal(GetTree().CreateTimer(1f), "timeout");

            GetTree().ChangeScene(SceneManager.endScene);
        }
    }