diff options
Diffstat (limited to 'marching/Assets/Scripts/Common/SingletonMB.cs')
-rw-r--r-- | marching/Assets/Scripts/Common/SingletonMB.cs | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/marching/Assets/Scripts/Common/SingletonMB.cs b/marching/Assets/Scripts/Common/SingletonMB.cs deleted file mode 100644 index 5debe57..0000000 --- a/marching/Assets/Scripts/Common/SingletonMB.cs +++ /dev/null @@ -1,58 +0,0 @@ -using Newtonsoft.Json.Utilities; -using UnityEngine; - -public abstract class SingletonMB<T> : MonoBehaviour where T : class -{ - protected static T m_Instance; - - public static T Instance - { - get { return m_Instance; } - set - { - if (m_Instance != null) - { - throw new System.ApplicationException("An instance was created duplicate!"); - } - - m_Instance = value; - } - } - - protected virtual void Awake() - { - //if (null != m_Instance) - //{ - // LogHelper.LogError(StringUtil.Concat("Exception: Duplicated Instance!! type is ", typeof(T).ToString(), ", plz send this error msg to hanjun!")); - //} - - m_Instance = gameObject.GetComponent<T>(); - } - - /// <summary> - /// CN: 加这个函数是为了同一个GameObject挂了多个Manager类,再OnDestroy里设置自己的单例为null - /// </summary> - protected virtual void OnDestroy() - { - //m_Instance = null; - DoWhenOnDestroy(); - } - - protected virtual void DoWhenOnDestroy() - { - - } - - public void ReleaseInstance() - { - if (m_Instance != null) - { - UnityEngine.Object.Destroy(this.gameObject); - //m_Instance = null; - } - else - { - Debug.LogError("m_Instance is already null!! type is " + typeof(T).ToString()); - } - } -}
\ No newline at end of file |