通常你可以这样创建一个Singleton:
public class Single
{
public static Single _instance;
public static Single GetInstance(){...}
}
问题是你如何创建 MonoBehaviour 类型的单例?
public class Single : MonoBehaviour
{
}
上述代码将无法正常工作。
是的,问题是,我不能对MonoBehaviour call new 。
来自@user2085599 的答案
你不能用 new 初始化 _instance,因为你不能在 MonoBehaviour 中
解决办法
在你的void Awake() 添加下面一行:
额外的代码
显然,GetInstance()函数略有不同了。请注意,我们不再检查实例等于null。