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; yield return new WaitForSeconds(3.0f); var player = GameObject.FindGameObjectWithTag("Player"); player.SetActive(false); var cc = player.GetComponent(); cc.enabled = false; player.transform.position = _spawnPoint.position; player.transform.rotation = _spawnPoint.rotation; cc.enabled = true; yield return null; 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; } } }