Awesome
GameFramework-at-FairyGUI
GameFramework + FairyGUI +Luban + HybridCLR + YooAsset + UniTask
实现初衷:在工作中接触到了FairyGUI与HybridCLR,真的十分好用,但git上很难找到使用FairyGUI设计的纯C#UI管理模块。在看到ALEXTANGXIAO开发的Gameframework-at-YooAsset后,决定在此基础上进行扩展(说白了就是缝合怪),以满足个人开发需求。经验有限,望指正。
除UI模块外相较于Gameframework-at-YooAsset的修改:
- 反射注册Handler,实现NetworkChannelHelper
- Network中抽象出Socket,并新增UnityWebSocket
- 支持WebRequest自定义请求头
- 流程优化,修复bug
- Luban模板修改,生成异步表加载结构
//程序集划分设计
Assets/GameMain/Scripts
├── Editor // 编辑器程序集
├── HotFix // 游戏热更程序集目录 [Folder]
| ├── GameProto // 游戏配置协议程序集 [Dll]
| ├── BattleCore // 游戏核心战斗程序集 [Dll]
| └── GameLogic // 游戏业务逻辑程序集 [Dll]
| ├── GameApp.cs // 热更主入口
| └── GameApp_RegisterSystem.cs // 热更主入口注册系统
└── Runtime // Runtime程序集
TODO
- Protobuf自定义代码模板工具
- 优化UI框架,让写UI更简单
- 支持MacOS上工具链的使用
- 对Network模块扩展,使其支持 var ack = await Send<T>(req) 的形式
- FiaryGUI自定义包管理
- 修改并使用GeekServer作为配套后端
- 基于此框架完成一个小Demo
- 尝试在此基础上使用ECS架构
- 更新YooAsset至1.5.3
日志
- 工程结构修改,将Luban分离出来,并新增Proto代码生成工具
- 新增一个基于Zinx的简易TCP服务端框架
- 对Network模块进行优化与测试
- 将GeekServer的MessagePack修改为Protobuf
- 修改proto工具链