凉鞋:我所理解的框架 【Unity 游戏框架搭建】 (4)

这两个工具自然也收录到了 QFramework 中。这样 QFramework 的目标有了一些变化。而 QFramework 除了是工具集和知识积累工具之外,还是一个支撑业务工具的集合。而之后笔者要做的就是把就是 Manager Of Managers 提出的这些模块一一收录。

项目结束

很快,跑酷项目接近尾声。拿到结款后分析了一下当时工作生活状态的利弊。决定还是找一家公司继续沉淀。一是为了让 QFramework 多接触一些不一样的项目,二是笔者非常渴望与同行能交流的,三是开发跑酷项目的这两个半月对未知的恐惧太强烈了,比如对未掌握的技术,没把握实现的功能等等,四是合作方的第二个项目需要组个完整团队去做,当时身边没有太合适的人。总之跑酷这个项目到此完美结束了。

小结

在文章的最开始,笔者提出了框架具有约束性和支撑性。 QFramework 目前已经具备了其中的支撑性,也就是支撑业务。而业务是其中一种框架所能支撑的领域,除此之外还有其他的领域,比如团队协作,工作流等等,这里先不多说。而约束性到目前还没有提过。没关系,我们接着往下进行。

文章读到这里我们再进行总结一下。

架构是“约定、规则、共识”

框架具有约束性和支撑性

好的架构直接就等于你要有一套好的规则,好的准则

Unity 好的规则

3.起文件夹的名字时尽量和 GameObject 对应起来

MVC 文件结构:先按照业务功能划分,再按照 MVC 来划分

代码是资产

做完每一个项目都积累一些东西

QFramework

工具集

FSM

Singleton&MonoSingleton

MsgDispatcher

MathUtils

笔者知识积累工具

业务支撑工具集(支撑性)

SoundManager

ConfigManager

新的公司

2016 年 3 月下旬,跑酷项目做完之后来到了一家新的公司,来的时候公司已经具有一定的规模,其游戏技术团队也积累了一些 Unity 的插件和工具。而笔者所加入的团队是技术支持团队。技术支持的工作就是平时负责攻克技术难点,做一些预研,再做一些工具来给项目团队使用,有的时候项目人手不够了还要顶上去。而在这家公司的两年则是笔者成长最快的两年,一是遇到了好 Leader,二是做的事情非常喜欢。

UIManager

到了新公司,工作的同时,业余时间 QFramework 的开发还是要进行的。而公司的项目是没有一个很统一的框架,每个项目组都是各干各的。但是我们部门的好处就是都可以看到项目组的代码。每个项目的 UIManager 都是基于 Dictionary 来提供查询,然后简单地用 GameObject 的前后关系来管理 UI 的层级。笔者当时也看了一些市面上开源的 UI 框架,实现原理都差不多。所以索性就自己开发了一套很平庸的实现,没有什么太大的亮点。不过好在,算是完成了对 ManagerOfManagers 中 GUIManager 的收集。

AssetBundleManager

AssetBundleManager 是看一个公司项目时候看到的,本身是一个开源免费的 Asset Store 插件。笔者之前对于资源管理没有太大的概念。像之前做的跑酷项目,都是直接都把 GameObject 拖到场景里完成的。很少用到动态加载卸载内存。但是看了 AssetBundleManager 之后,很看好它的 Simulation Mode。所以就收录到 QFramework 里了。使用 AssetBundle 的好处有很多,支持热更啊,控制包体大小啊等等。缺点就是坑多,而且有一些学习成本,但是还是非常值得去研究的。

加班

在收集了 UIManager 和 AssetBundleManager 之后开始了时长较长的加班。加班的原因就不说了,从这时候开始 QFramework 就搁置了一段时间。

小结

本小节的 UIManager 和 AssetBundleManager 都是一种很普通的实现,没有太大的亮点。

文章读到这里我们再进行总结一下。

架构是“约定、规则、共识”

框架具有约束性和支撑性

好的架构直接就等于你要有一套好的规则,好的准则

Unity 好的规则

3.起文件夹的名字时尽量和 GameObject 对应起来

MVC 文件结构:先按照业务功能划分,再按照 MVC 来划分

代码是资产

做完每一个项目都积累一些东西

QFramework

工具集

FSM

Singleton&MonoSingleton

MsgDispatcher

MathUtils

笔者知识积累工具

业务支撑工具集(支撑性)

UIManager

AssetBundleManager

SoundManager

ConfigManager

命名的力量

Unity 好的规则 2:我们在命名的时候要起一个比较有含义的名字。——刘钢《Unity 架构设计与开发管理》

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zygpyd.html