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