using System.Collections; using UnityEngine; namespace Scampz.GameJam.Assets.Scripts.SceneManagement { public class TeleportPlayer : MonoBehaviour { [SerializeField] private Transform _spawnPoint; [SerializeField] private Camera[] camerasToActivate; private void OnTriggerEnter(Collider collider) { if (collider.CompareTag("Player")) { StartCoroutine(LoadNextLevel()); } } private IEnumerator LoadNextLevel() { var levelChanger = FindObjectOfType(); levelChanger.FadeAnimation(); yield return null; var player = GameObject.FindGameObjectWithTag("Player"); var cc = player.GetComponent(); cc.enabled = false; player.SetActive(false); yield return new WaitForSeconds(1.0f); yield return null; player.transform.position = _spawnPoint.position; player.transform.rotation = _spawnPoint.rotation; cc.enabled = true; var allCamerasInCurrentScene = FindObjectsOfType(); foreach (var sceneCamera in allCamerasInCurrentScene) sceneCamera.enabled = false; foreach (var camera in camerasToActivate) camera.enabled = true; player.SetActive(true); yield return null; } } }