private IEnumerator PlayAnimation()
    {
        Destroy(GameObject.FindObjectOfType <UIController> ().gameObject);
        Destroy(GameObject.FindObjectOfType <MainUIHolder> ().gameObject);
        fadeout.CrossFadeAlpha(0, .5f, true);
        yield return(new WaitForSeconds(2));

        player         = Instantiate(players[GameController.maincontroller.playerSelected], new Vector3(walkpos.x, 1, 0), Quaternion.FromToRotation(Vector3.forward, Vector3.right));
        player.enabled = false;
        foreach (ParticleSystem ps in player.gameObject.GetComponentsInChildren <ParticleSystem>())
        {
            Destroy(ps);
        }
        Destroy(player.GetComponentInChildren <Portal>().gameObject);
        yield return(new WaitForSeconds(2));

        walking = true;
        player.GetComponent <Animator> ().SetBool("walking", true);
        yield return(new WaitUntil(() => { return time >= 1; }));

        player.GetComponent <Animator> ().SetBool("walking", false);
        yield return(new WaitForSeconds(1));

        player.GetComponent <Animator> ().SetBool("shooting", true);
        yield return(new WaitForSeconds(0.5f));

        pSystem.Play();
        yield return(new WaitForSeconds(2));

        fadeout.CrossFadeAlpha(1, 2, true);
        yield return(new WaitForSeconds(2));

        scroll = true;
        yield return(new WaitUntil(() => { return endscroll[3].transform.localPosition.y >= 0; }));

        scroll = false;
        yield return(new WaitForSeconds(2));

        SceneManager.LoadScene("StartScene");


        Destroy(GameObject.FindObjectOfType <AchievementTracker> ().gameObject);
        Destroy(GameController.maincontroller.gameObject);
        Destroy(this.gameObject);
    }