using System; using UnityEngine; public class SingletonBase : MonoBehaviour where T : MonoBehaviour { public static T Instance { get { if (SingletonBase.instance == null) { SingletonBase.instance = (T)((object)UnityEngine.Object.FindObjectOfType(typeof(T))); if (SingletonBase.instance == null) { Debug.LogError("An instance of " + typeof(T) + " is needed in the scene, but there is none."); } } return SingletonBase.instance; } } private static T instance; }