Unity 游戏框架搭建:Manager Of Managers 简介

以上的 Manager 它都有写什么样的功能呢?我们逐一分析。

EventManager

EventManager,通常就是希望在一个集中的地方管理所有的 UI 到各个模块之间的一些消息,以及各个模块相互访问的一些消息传递,我们都把它放在一起,叫做一个 EventManager。
在这里呢,我们框架,已经有了这样的功能,就是我们的 MsgDispatcher。所以呢,EventManager,我们就无需实现了。

AudioManager

AudioManager,顾名思义,我们希望能有一个集中的地方管理音频文件,这样在游戏场景中的任何地方播放这些音频文件的时候都只需要访问一个 AudioManager.Instance,这样的类就叫做 AudioManager。
那么这个东西呢,我们的框架没有实现,音频播放是每个项目都必不可少的功能,所以 AudioManager,我们在接下来要实现。

GUIManager

GUIManager,所有的 UI 界面管理,以及层级管理等,我们也都希望通过这个东西来管理起来,叫做 GUIManager。
我们的框架没有实现,这个功能是每个项目必不可少的功能,所以 GUIManager,我们要在接下来中实现。

PoolManager

PoolManager,这是要讲的一个非常非常重要的东西,如果大家现在是在写一个中型以上的 Unity 游戏,那么一定要设计一个非常有效的 PoolManager,为什么呢?因为 C# 里面,我们在 Create 或者 Destroy GameObject 的时候,它是一个非常非常耗时的操作,有可能会卷入你的 GC 操作中,那这样的操作就会更加地慢下来,所以你写一个 Pool,去初始化 Load 到内存里面的资源,能够把它回收起来,然后在下次用到的时候,把它拿出来,这是一个非常非常有意义的操作,也是大家在做一个项目中必须要有的一个操作。
虽然接触过对象池,但是我们的框架中没有实现通用的对象池,所以 PoolManager,我们要在接下来中实现。

LevelManager

LevelManager,这个就是在管理你在一个游戏里面可能会有十个、二十个、三十个甚至五十个不同的关卡,不同的关卡,你可能需要一个集中的地方管理起来。
关卡管理笔者是用不到的,因为笔者一般做一个项目只用一个场景,不过考虑到大家肯能需要用到,所以就在接下来中实现一个。

GameManager

GameManager,这可能是唯一一个这里所列出来的,Game 与 Game 之间不太相同的这样一个模块,那其他的模块,我们说如果你写好了一次之后,你是可以在项目里面去反复地复用这些模块的。如果一旦你写出来一套很成熟的机制,那么你在写不同的项目的时候,基本上只要换一个 GameManager,其他的东西基本上原封不动的搬过来直接再用。而 GameManager,就是用来管理游戏中各个 Game Play 逻辑的 Manager。
这个部分不需要在我们的框架中实现。

SaveManager

SaveManager,我们都知道我们在写游戏的时候,通常会遇到一些问题,比方说 Load 一些所谓的配置,或者说我需要游戏玩着玩着的时候我们需要暂停一下,或者说我退出,下次进来的时候还想在原处再继续玩,这个时候哦们要用到这样的一个 Manager。
这部分会用到,所以我们要在框架中实现。

MenuManager

MenuManager,我们希望在有一个集中的地方去管理所有的 Menu 上的动画或者说一些它外观上的一些东西,那么这个东西我们是希望它和所有的 GUI 事件是严格剥离开来的,不要搅在一起。
这部分会用到,不过我们把这部分在 GUI Manager 实现的时候一同实现。

小结

那么有了这么一些东西之后,我们其实就具备一个初步的 Unity 游戏架构的雏形了。那么我们也说过,有了一个这样的东西,还有一个很大的好处,一方面肯定是说我们的程序更加有条理,可以适应大型的项目,另一方面我们说这样的一个架构设计,可以让你在项目之间去复用你的代码,
OK,前面说的每一个模块,我们都讲了一遍,那么对于一个中型以上的项目,我建议大家至少至少要有这样三样东西在你的游戏里面:LevelManager、PoolManager、SaveManager,最好还要有 GameManager、EventManager、MenuManager、GUIManager、AudioManager,如果说你的项目规模非常小,那么我说很多与项目相关的这些东西并在一起作为一个集中的这样的 GameManager 也无所谓,并不需要完全按照以上的来。但是前面那三个东西一定要有,为什么要有,在下一篇,我们会做一个逐一的介绍。
今天的内容就这些,我们下一篇再见,拜拜~
转载请注明地址:凉鞋的笔记: liangxiegame.com
订阅整套专栏: liangxiegame.com
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值