Pull up singleton behaviour.

This commit is contained in:
2023-11-29 13:12:19 +08:00
parent 522699152b
commit e339ec3e4c
7 changed files with 48 additions and 36 deletions

View File

@@ -1,24 +1,13 @@
using System;
using Cryville.Common.Unity;
using UnityEngine;
namespace Cryville.Crtr.UI {
internal class Master : MonoBehaviour {
static Master s_instance;
public static Master Instance { get { return s_instance; } }
internal class Master : SingletonBehaviour<Master> {
#pragma warning disable IDE0044
[SerializeField]
private GameObject m_menu;
#pragma warning restore IDE0044
void Awake() {
if (s_instance != null) {
Destroy(gameObject);
throw new InvalidOperationException("Attempted to initialize a singleton twice.");
}
s_instance = this;
}
internal void ShowMenu() { m_menu.SetActive(true); }
internal void HideMenu() { m_menu.SetActive(false); }