1
0
Fork 0
LaboratoryProtection/Assets/UnityTest/ZXL/Scripts/BaseAutoMono.cs

27 lines
663 B
C#

using Sirenix.OdinInspector;
using UnityEngine;
namespace UnityTest.ZXL
{
/// <summary>
/// 继承MonoBehavior的单例基类
/// </summary>
/// <typeparam name="T"></typeparam>
public class BaseAutoMono<T> : SerializedMonoBehaviour where T : MonoBehaviour
{
private static T instance;
public static T Instance()
{
if (instance == null)
{
GameObject go = new GameObject();
go.name = typeof(T).ToString();
DontDestroyOnLoad(go);
instance = go.AddComponent<T>();
}
return instance;
}
}
}