单例的使用非常常见,在Unity中我们会碰到普通的C#类需要实现单例的情况,同时也会碰到继承MonoBehaviour的类需要实现单例的情况。Qarth中分别提供了这两种情况的父类:
通过继承它们实现静态访问该类单例对象的功能。
注意:Qarth中的单例并不禁止类对象存在多个实例,这两个父类的意义只是为了提供统一的单例实现和访问方式,并不是教科书意义上的单例.
代码示例
- 普通类申明Singleton实现
public class TableMgr : TSingleton<TableMgr>
{
}
- MonoBehaviour子类申明Singleton
[TMonoSingletonAttribute("[Tools]/Aud

本文介绍了Unity框架Qarth中实现单例的方式,包括TSingleton和TMonoSingleton两个父类,它们提供了统一的静态访问单例对象的机制。TSingleton采用延迟初始化,而TMonoSingleton针对MonoBehaviour的特殊情况,处理场景中对象实例的存在与否。虽然方便,但过多的单例可能导致程序结构混乱,因此使用时需谨慎。
最低0.47元/天 解锁文章
405

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



