using System.Collections; using System.Collections.Generic; using UnityEngine; public abstract class Singleton where T : class, new() { protected static T _instance = null; public static T Instance { get { if (null == _instance) { _instance = new T(); } return _instance; } } protected Singleton() { if (null == _instance) { // Error Report } Init(); } public virtual void Init() { } }