Files
2024-11-20 15:21:28 +01:00

37 lines
747 B
C#

using UnityEngine;
using System.Collections;
namespace RootMotion
{
/// <summary>
/// The base abstract Singleton class.
/// </summary>
public abstract class Singleton<T> : MonoBehaviour where T : Singleton<T>
{
private static T sInstance = null;
public static T instance
{
get
{
return sInstance;
}
}
public static void Clear(GameObject me)
{
if (sInstance == me)
sInstance = null;
}
protected virtual void Awake()
{
if (sInstance != null) Debug.LogError(name + "error: already initialized", this);
sInstance = (T)this;
}
}
}