revival/game/Assets/Scripts/Flow/SceneLoader.cs

47 lines
854 B
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[System.Serializable]
public enum SceneType
{
None,
BootSequence,
MainMenu,
Gameplay,
Credits,
COUNT
}
public abstract class SceneLoader : MonoBehaviour
{
[SerializeField]
private SceneType _sceneType;
private SceneType _toLoad = SceneType.None;
public SceneType SceneType => _sceneType;
public SceneType ToLoad => _toLoad;
public abstract void StartLoad();
public abstract bool LoadComplete { get; }
public void LoadScene( SceneType scene )
{
if ( scene == SceneType.COUNT || scene == SceneType.None )
{
Debug.LogError($"cannot load scene {scene}");
return;
}
_toLoad = scene;
}
public void Quit()
{
Application.Quit();
}
}