TalesOfNovariel/Assets/Scripts/SceneHandler.cs

72 lines
1.8 KiB
C#

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";
}
}
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
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<UIHandler>().openIntroduction();
}
}
}
}