MiniEtLibDemos

提取自ET 7.2,仅保留核心框架层,相关业务层基本都被剔除,便于用来理解学习

MiniEtLibDemos https://github.com/YaoXuanZhi/MiniEtLibDemos

这个仓库是本人在项目接入ET框架后,出于推广学习需要搞的ET精简版,剔除了ET上的各种业务逻辑,仅仅保留了ET框架的核心ECS模块、事件模块、网络模块以及消息模块等,同AOGame思路差不多,只是个人偏好不一样,并在此基础上搞了WinForm GUI Demo和UnityDemo等,完整版可以在官网查看


目录结构

  • AppClientCLI:一个命令行客户端Demo
  • AppClientGUI:一个WinForm客户端Demo
  • AppModel:该程序集包含了各种与UI无关Component声明
  • AppModelView:包含了各种与UI相关Component声明
  • AppHotFix:该程序集存放了AppModel上的各种Component的方法
  • AppHotFixView:该程序集存放了AppModelView上的各种Component的方法,这里由于WinForm的限制,已被合并到AppClientGUI/ModelVeiw上了
  • AppServer:一个命令行服务端Demo
  • CLI_Loader:用于加载CLI DLL的加载程序集
  • Config:放置配置表的地方,这里还集成了Luban工具
  • GUI_Loader:用于加载GUI DLL的加载程序集
  • MiniEtLib:剥离出来的ET核心,位置已经挪到了xxx\UnityDemo\Assets\Scripts\Core\MiniEtLib
  • SimpleBenchmarkDemo:ET官方示例里的基准示例
  • UnityDemo:一个UnityDemo

碎碎念

该框架在项目落地之后,其信息量没变,只是代码组织形式由原本的OOP转变成了ECS了,不过它带来了一个好处,巧妙的程序集拓扑设计让它前后端都可以开发热重载,并且大大节省了团队内部自己对双端框架的演进时间,只不过,ECS带来的心智负担着实不小,在推进过程受到的阻力也有一些,但是凭着对热重载机制的喜爱,最终还是与组内伙伴集思广益,基于现有业务开发和后续的开发量产管线考虑,捋顺了它的开发流程和配套工具链

本人之前用过Erlang,也尝鲜过Flutter,它们的热重载机制都比较完善,开发体验一级棒,一图胜千言 /assets/2024-09-04/1725423344848.png

最后再逼逼一句,无论何种框架,总会遇到众口难调的情况,作为团队的一员,没上升到可以做技术决策的地位之前,在技术方案选型阶段,多参与讨论,在方案落地时,多参与建设,这样于己于团队都是有利的,多种不同思想碰撞能带来技术视野、架构能力上的长进

参考资料

0%