目录
使用目的
游戏中有很多公共模块,比如Asset管理模块,UI模块,音频模块等等。
这些公共模块会频繁的被各个业务功能或者其他公共模块调用,为了方便访问通常会考虑使用单例模式来处理这些公共模块。
如果在每个模块都去实现单例未免太麻烦了,所以一般考虑做一个单例的基类供公共模块来继承。
而这个单例基类亦可以算做游戏框架中最基础的内容了。
思路和实现
简易单例
单例的核心思路就是在类里面保存一个静态的对象,当首次访问该对象的时候就实例化并赋值,再次访问的时候就直接返回已经实例化的对象。保证多次访问,仅一次实例化。比如这样:
public class MyClass
{
private static MyClass _instance = null;
public static MyClass instance
{
get
{
if(_instance == null)
{
_instance = new MyClass();
}
return _instance;
}
}
}
外部就可以通过调用MyClass.instance来获取Myclass类的实例从而快速的访问该类的方法。
通用单例基类
为了将单例作成基类,我们需要使用模板T,将子类的类型传进来实例化。

本文介绍了Unity游戏开发中单例模式的应用,旨在简化公共模块的访问。通过提供简易单例、通用单例基类和适合Unity的单例基类实现,帮助开发者高效管理Asset、UI、音频等模块,确保在游戏框架中实现便捷的单例访问。单例基类允许子类只需关注业务逻辑,而无需额外实现单例细节。
最低0.47元/天 解锁文章
4793

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



