using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; using System; using System.Diagnostics; using Debug = UnityEngine.Debug; public class ChangeScene : MonoBehaviour { float x, y, z; private Animator myanim; public void MoveToScene(int sceneID) { SceneManager.LoadScene(sceneID); } public void MoveToSceneFirst(int sceneID) { //Scene current = SceneManager.GetActiveScene(); //Debug.Log(PlayerPrefs.HasKey("HER")); if (!PlayerPrefs.HasKey("SceneSaved")) { SceneManager.LoadScene(5); } else { SceneManager.LoadScene(sceneID); } } void Start(){ } private void Awake() { } private void Update() { } private IEnumerator WaitForAnimationAndMoveToScene(float waitTime, Collision2D collision) { while (true) { yield return new WaitForSeconds(waitTime); Debug.Log("BEFORE"); collision.gameObject.GetComponent().ScenetToMoveTo(); Debug.Log("AFTER"); } } // method is invoked only when script is assign to the player prefab object public void OnCollisionEnter2D(Collision2D collision) { if(collision.gameObject.tag == "SceneTransition") { if(!collision.gameObject.GetComponent().isEnabled) { Debug.Log("Door are not enabled"); return; } collision.gameObject.GetComponent().ScenetToMoveTo(); } if(collision.gameObject.tag == "AnimatedDoorSceneTransition") { Debug.Log("Starting coroutine"); Debug.Log(TriggerDoor.ableToOpen); if (TriggerDoor.ableToOpen) { StartCoroutine(WaitForAnimationAndMoveToScene(0.3f, collision)); } } } }