
所有需要设置单例的对象继承一个单例基类 SingletonBase
public class SingletonBase<T> where T:new()
{
private static T instance;
public static T GetInstance()
{
if (instance == null)
{
instance = new T();
}
return instance;
}
}
使用方法:【假设manager需要设置为单例对象,只需继承单例基类】
public class manager : SingletonBase<manager>
{
public string name="";
public int num = 1;
}
测试:
void Start()
{
var m1=manager.GetInstance();
var m2 = manager.GetInstance();
Debug.Log(m1==m2);
m1.name += "123";
m2.name += "456";
Debug.Log(m2.name);
}

----阿沐先森Unity学习日记
本文介绍了一种在Unity中实现单例模式的方法,通过创建一个泛型基类SingletonBase来确保类的实例唯一性。具体示例展示了如何定义一个继承自SingletonBase的manager类,并在Start方法中测试其单例特性。
544

被折叠的 条评论
为什么被折叠?



