You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

41 lines
850 B
C#

6 months ago
using UnityEngine;
namespace RootMotion
{
/// <summary>
/// Auto-instantiated singleton base class.
/// </summary>
public abstract class LazySingleton<T> : MonoBehaviour where T : LazySingleton<T>
{
private static T sInstance = null;
public static bool hasInstance
{
get
{
return sInstance != null;
}
}
public static T instance
{
get
{
if (sInstance == null)
{
string name = typeof(T).ToString();
sInstance = new GameObject(name).AddComponent<T>();
}
return sInstance;
}
}
protected virtual void Awake()
{
sInstance = (T)this;
}
}
}