Appearance
Game Framework 开发指南
Game Framework 是一个基于 Unity 引擎的游戏框架,主要对游戏开发过程中常用模块进行了封装,很大程度地规范开发过程、加快开发速度并保证产品质量。
💎 框架核心优势
- 规范化:通过强制性的接口约束,规范代码结构。
- 高性能:内置对象池、虚拟文件系统,深度优化内存与加载。
- 高解耦:基于事件驱动和流程管理,各模块高度独立。
🛠️ 内置 19 大模块详解
1. 核心驱动模块
| 模块名称 | 描述 |
|---|---|
| 流程 (Procedure) | 贯穿游戏生命周期的有限状态机。将不同状态(如检查资源、登录、战斗)进行解耦。 |
| 事件 (Event) | 逻辑监听与抛出机制。GF 内部大量使用事件来消除模块间的耦合。 |
| 有限状态机 (FSM) | 提供通用的状态机功能,适用于各种复杂的游戏逻辑切换。 |
2. 资源管理与加载
- 资源 (Resource) 坚持全异步加载体系。提供默认内存管理策略,开发者多数情况下无需手动
Instantiate或Destroy。 - 文件系统 (File System) 使用虚拟磁盘概念管理零散文件,优化加载时的内存分配,提升资源读取性能。
- 下载 (Download) 支持多线程、断点续传。是资源更新模块的核心底层支撑。
3. 游戏对象管理
- 实体 (Entity) 管理场景中一切动态物体(玩家、怪物、掉落物)。支持实体挂接(如武器绑定)和对象池复用。
- 对象池 (Object Pool) 通用的缓存池,避免频繁创建销毁导致的 GC 压力。
- 场景 (Scene) 支持多场景叠加加载 (Additive) 与异步卸载。
4. 数据处理
- 数据表 (Data Table) 将 Excel 等配置表导出后直接在游戏内使用,支持自定义解析格式。
- 数据结点 (Data Node) 树状结构存储运行时数据,适合管理复杂的全局实时变量。
- 配置 (Config) 存储游戏运行所需的全局只读配置。
- 配置 (Setting) 对
PlayerPrefs的封装,用于持久化玩家本地设置(如音量、画质)。
5. 通讯与交互
- 网络 (Network) 支持 TCP 长连接(兼容 IPv4/IPv6)。可派生
Packet类以轻松接入 ProtoBuf。 - Web 请求 (Web Request) 提供 HTTP 短连接功能,支持 Get/Post 异步请求。
- 调试器 (Debugger) 在真机或编辑器下调出悬浮窗,实时查看日志、系统性能及内存状态。
6. 表现与本地化
- 界面 (UI) 界面组管理,兼容 uGUI 及 NGUI。支持界面层级管理和对象池复用。
- 声音 (Sound) 管理 2D/3D 音效,支持声音与实体的绑定跟随。
- 本地化 (Localization) 不仅支持文本多语言,还支持资源本地化(如不同语言的图片或特效)。
🚀 快速接入建议
- 定义流程:从派生
ProcedureBase开始,规划游戏的初始化、预加载、主菜单等阶段。 - 订阅事件:利用
GameEntry.Event.Subscribe(...)监听系统或自定义逻辑。 - 资源打包:配合官方提供的
AssetBundle构建工具进行资源预处理。