using Assets.Scripts.Races; using Assets.Scripts.Classes; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; namespace Assets.Scripts { public class SceneHandler : MonoBehaviour { static bool sceneSwitched = false; private void OnEnable() { SceneManager.sceneLoaded += OnSceneLoaded; bool hasSceneHandler = false; foreach (Object o in FindObjectsOfType(typeof(MonoBehaviour))) { if (o.name == "SceneHandlerLoaded") { hasSceneHandler = true; break; } } if (!hasSceneHandler) { DontDestroyOnLoad(this.gameObject); this.gameObject.name = "SceneHandlerLoaded"; } } public void openMenuScene() { SceneManager.LoadSceneAsync("MenuScene", LoadSceneMode.Single); } public void openGameScene() { SceneManager.LoadSceneAsync("GameScene", LoadSceneMode.Single); } public static void switchGameToMenu() { if (!sceneSwitched) { SceneManager.LoadSceneAsync("MenuScene", LoadSceneMode.Single); sceneSwitched = true; } } private void OnSceneLoaded(Scene scene, LoadSceneMode mode) { if (scene.name == "GameScene") { GameObject.Find("UIHandler").GetComponent().openIntroduction(); } } } }