Scriptum/Assets/Scripts/ChangeScene.cs
2023-01-10 23:55:41 +01:00

88 lines
2.3 KiB
C#

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<DoorBehaviour>().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<DoorBehaviour>() != null && !collision.gameObject.GetComponent<DoorBehaviour>().isEnabled)
{
Debug.Log("Door are not enabled");
return;
}
else if (collision.gameObject.GetComponent<AnimatedDoorBehaviour>() != null && !collision.gameObject.GetComponent<AnimatedDoorBehaviour>().isEnabled)
{
Debug.Log("Door are not enabled");
return;
}
collision.gameObject.GetComponent<DoorBehaviour>().ScenetToMoveTo();
}
if(collision.gameObject.tag == "AnimatedDoorSceneTransition")
{
Debug.Log("Starting coroutine");
Debug.Log(TriggerDoor.ableToOpen);
if (TriggerDoor.ableToOpen)
{
StartCoroutine(WaitForAnimationAndMoveToScene(0.3f, collision));
}
}
}
}