43 lines
819 B
C#
43 lines
819 B
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
namespace AibisDream
|
|
{
|
|
public class Singleton<T> : MonoBehaviour where T : Singleton<T>
|
|
{
|
|
private static T instance;
|
|
|
|
public static T Instance
|
|
{
|
|
get { return instance; }
|
|
}
|
|
|
|
protected virtual void Awake()
|
|
{
|
|
if (instance != null)
|
|
{
|
|
Destroy(gameObject);
|
|
}
|
|
else
|
|
{
|
|
instance = (T)this;
|
|
}
|
|
}
|
|
|
|
public static bool IsInitialized
|
|
{
|
|
get { return instance != null; }
|
|
}
|
|
|
|
protected virtual void OnDestory()
|
|
{
|
|
if (instance == this)
|
|
{
|
|
instance = null;
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|