60 lines
1.6 KiB
C#
60 lines
1.6 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 FindObjectsByType<MonoBehaviour>(FindObjectsSortMode.None))
|
|
{
|
|
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<UIHandler>().openIntroduction();
|
|
}
|
|
}
|
|
}
|
|
}
|