通常你可以创建这样一个单例:
public class Single
{
public static Single _instance;
public static Single GetInstance(){...}
}
问题是在Unity中产生MonoBehaviour class时应该如何创建?
public class Single : MonoBehaviour
{
}
上述的常规代码不起作用。
Edit:问题是我不能在 MonoBehaviour调用new
@FunctionR:
会起作用的,在未来的帖子里,你可以贴出为什么它不起作用。过去我也遇到过这个问题,所以我知道为什么。你不可以用new初始化_instance,因为你不可以在MonoBehaviour调用new。
解决方案
在 voidAwake()添加这几行:
显然GetInstance() 函数看起来略有不同了。注意我们不再像往常那样检查实例是否为null。