关于Unity中类似Manager类的管理
什么是类似Manager类?
所谓类Manager类就是和Manager类相似的,拥有以下特征的类:
- 在Unity脚本中唯一。
- 在Unity脚本中经常被调用。
如果不做任何改变任由Unity其他脚本调用Manager类或者类似Manager管理类会造成不必要的性能消耗。(大量的使用脚本搜寻方法)。这时的解决方案我们可以添加一个Instance属性,让其他脚本直接调用Instance属性。
但是通常Unity中有不止一种Manager类。所以我们需要提取一个父类来对所有的Manager类进行管理。这就是脚本单例类。与传统的面向对象不同,我们不去调用父类,而是要直接调用子类Instance属性,并将所有的Instance属性初始化方式放入父类中。
下面为代码:MonoSingleton单例类
using UnityEngine;
/*
Editor:
Version:
The last time for modification:
Time for Creation:
*/
namespace Demo_XXManager
{
/// <summary>
/// 此类为脚本单例类。所有的其他脚本想要访问XXManager都需要使用XXManager继承于父类的Instance属性
/// 所有继承此类的Manager类都需要在继承时表明自己的类型
/// 此类适用于所有在场景中唯一且常用的类
/// </summary>
public class MonoSingleton<T> : MonoBehaviour where T : MonoSingleton<T

这篇博客介绍了在Unity中如何使用单例模式管理类,特别是Manager类的使用。MonoSingleton是一个泛型单例类,确保在场景中只有一个实例,并提供按需加载的Instance属性,减少了不必要的性能消耗。文章还提供了代码示例,展示了如何创建和初始化单例,以及自定义初始化函数的使用。此外,强调了子类必须传递自身类型以正确继承和使用单例模式。
最低0.47元/天 解锁文章
1624

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



