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