2022-05-10 22:54:04 +02:00
|
|
|
using System.Collections;
|
|
|
|
using System.Collections.Generic;
|
|
|
|
using UnityEngine;
|
|
|
|
using UnityEngine.SceneManagement;
|
2022-05-15 16:40:58 +02:00
|
|
|
using System;
|
2022-05-10 22:54:04 +02:00
|
|
|
|
|
|
|
public class ChangeScene : MonoBehaviour
|
|
|
|
{
|
2022-06-02 14:25:22 +02:00
|
|
|
float x, y, z;
|
2022-12-10 02:24:32 +01:00
|
|
|
|
2022-05-10 22:54:04 +02:00
|
|
|
public void MoveToScene(int sceneID)
|
|
|
|
{
|
|
|
|
SceneManager.LoadScene(sceneID);
|
|
|
|
}
|
2022-05-15 16:40:58 +02:00
|
|
|
|
2022-12-10 02:24:32 +01:00
|
|
|
void Start(){
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
private IEnumerator WaitForAnimationAndMoveToScene(float waitTime, Collision2D collision)
|
|
|
|
{
|
|
|
|
while (true)
|
|
|
|
{
|
|
|
|
yield return new WaitForSeconds(waitTime);
|
|
|
|
collision.gameObject.GetComponent<DoorBehaviour>().ScenetToMoveTo();
|
2022-06-02 14:25:22 +02:00
|
|
|
|
2022-12-10 02:24:32 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2022-10-02 18:45:58 +02:00
|
|
|
// method is invoked only when script is assign to the player prefab object
|
2022-05-15 16:40:58 +02:00
|
|
|
public void OnCollisionEnter2D(Collision2D collision)
|
|
|
|
{
|
|
|
|
if(collision.gameObject.tag == "SceneTransition")
|
|
|
|
{
|
2022-10-02 18:45:58 +02:00
|
|
|
collision.gameObject.GetComponent<DoorBehaviour>().ScenetToMoveTo();
|
2022-05-15 16:40:58 +02:00
|
|
|
}
|
2022-12-10 02:24:32 +01:00
|
|
|
if(collision.gameObject.tag == "AnimatedDoorSceneTransition")
|
|
|
|
{
|
|
|
|
Debug.Log("Starting coroutine");
|
2023-01-05 14:19:56 +01:00
|
|
|
|
2022-12-10 02:24:32 +01:00
|
|
|
StartCoroutine(WaitForAnimationAndMoveToScene(0.3f, collision));
|
|
|
|
}
|
2022-05-15 16:40:58 +02:00
|
|
|
}
|
2022-05-10 22:54:04 +02:00
|
|
|
}
|