using UnityEngine; namespace CScript.Utilities { public abstract class MonoSingleton : MonoBehaviour where T : MonoBehaviour { public bool global = true; static T instance; public static T Instance { get { if (instance == null) { instance = (T)FindObjectOfType(); } return instance; } } void Start() { if (global) DontDestroyOnLoad(this.gameObject); this.OnStart(); } protected virtual void OnStart() { } } }