Reworked code, Code cleanup, No new Version
This commit is contained in:
59
Assets/Scripts/Handler/SceneHandler.cs
Normal file
59
Assets/Scripts/Handler/SceneHandler.cs
Normal file
@@ -0,0 +1,59 @@
|
||||
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<UIHandler>().openIntroduction();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user