UF——程序基础小框架系列
UF——程序基础小框架系列
2023-12-23记:
本系列笔记跟课课程已重置,因此本系列笔记也使用重置版课程重新制作
所有使用旧课程的原笔记已标记为过时,归档到本系列的UF_OLD文档下,不建议使用旧笔记相比旧课程,新课程结合了更多的课程的知识,前置知识要求更高,不再是只学习Unity前三部曲就能直接学习的了
学习目标
不同游戏、不同公司使用的游戏框架可能都是不一样的,市面上有很多第三方框架(别人设计好的游戏框架)
比如GameFramework、PureMVC 以及 Unity中较新的Dots系统
除此之外,还有一些软件架构思想,比如MVC、ECS等等
我们可以选择别人制作好的第三方框架 (商业项目开发中,前端框架一般很少使用别人的)
可以基于常用的软件架构思想来设计自己的框架 (常见)
也可以完全基于设计模式来设计自己的框架 (常见)
对于想要进入游戏行业的学习者来说, 我们需要对游戏框架有一个基础的认识,要感知到游戏框架的好处,了解设计游戏框架的基本思路
虽然Unity引擎已经帮助我们封装了很多游戏当中的常用功能
但是我们还是可以在它的基础上再次进行设计和封装,将游戏开发中的常用内容模块化
从而达到提升开发效率、优化性能的目的
为什么第一步做这些?
- 公共模块可以简单的理解为整个程序框架,提升开发效率
 - 这些模块在游戏中各处都会用到
 - 往往这些模块在各个小项目中是通用的,完成一次之后可通用
 
注:笔记内所有代码都是跟课学习而来的,与课上的代码基本没有差别,但课上的这些代码完全可以根据自己需要来自行修改,不必拘泥于课上所学
本系列学习内容
- 
单例模式基类
 - 
公共Mono模块
 - 
缓存池(对象池)模块
- 缓存池具体实现
 - 窗口布局优化
 - 对象上限优化
 - 增加缓存对象种类
 
 - 
事件中心模块
- 事件中心具体实现
 - 事件中心传递参数
 - 事件中心传递自定义参数
 - 事件中心的事件名优化
 
 - 
资源加载模块
- 
Resource资源加载模块
- Resource资源加载模块的具体实现
 - 优化Resources资源加载模块的异步加载
 - 添加引用计数的Resource资源加载模块
 
 - 
Editor资源加载模块
 - 
Assetbundle资源加载模块
- AB包资源管理器回顾及潜在问题考虑
 - AB包资源管理器的异步加载修改
 - AB包资源管理器的同步加载修改
 
 - 
UnityWebRequest资源加载模块
 
 - 
 - 
音效管理模块
- 音效管理模块音乐部分实现
 - 音效管理模块音效部分实现
 - 音效管理模块优化
 
 - 
UI管理模块
- UI面板基类
 - UI管理器
 - UI管理器的异步加载优化
 - UI管理器的隐藏面板可选销毁优化
 - UI模块的自定义事件添加函数
 
 - 
场景切换模块
 - 
输入控制模块
- 输入控制模块的具体实现
 - 输入控制模块的改键功能
 - 输入控制模块的获取输入消息
 
 - 
计时器模块
- TimerItem 具体实现
 - TimeManager 具体实现
 - TimeManager 进阶优化
 
 - 
加密工具模块
 - 
文本工具模块
- 
字符串拆分方法
 - 
数字转字符串相关
 - 
秒转时间字符串相关
- 时分秒
 - 00:00:00
 
 - 
大数据数值转字符串方法
 
 - 
 - 
数学计算工具模块
- 角度和弧度的转换
 - 距离判断相关
 - 屏幕外判断
 - 扇形范围判断
 - 射线检测
 - 范围检测
 
 
