English: please use your browser to translate to english
基于C#双端框架ET 注意:当前Master正在同步ET8升级修改,跑Demo请切换到ET7.2+分支。
此游戏为ET的一个实践项目demo,玩法主要是球球大作战类型的吃食物吃敌人/被敌人吃的生存玩法。此项目采用状态同步,所有碰撞检测、技能、AI等逻辑都放在服务端执行。当前仍在开发中,具体功能模块及进度看下面的Todo即可
-
- 安装Unity2022.3.0,安装VS2022/Rider2023,安装.Net7 SDK.
-
- Unity打开编辑器菜单:ET/BuildTool,CodeMode选择Client,然后点击BuildModelAndHotfix.
-
- 打开ET.sln,编译整个项目,运行DotNet.App.(服务器、客户端拆分模式才需要单独运行,默认是Client-Server模式)
-
- Unity运行游戏即可看到登录页面,输入账号密码登录即可
- 接入UnityC#热更新框架HybridCLR
- 接入Unity运行时可视化Log调试组件Debugger
- 接入基于UGUI适配ET的UI框架EUI
- 接入YooAsset资源管理打包热更框架,实现热更下载重载逻辑。
- 摇杆控制角色移动,相机跟随,通过服务端广播位置同步
- 实现一个比较基础版本的断线重连,返回登陆等操作。
- 配置表支持多Key(也可自行接入强大的多平台配置方案 Luban,当前Demo用不到那么复杂excel就不进行接入了)。
- 房间大厅,匹配房友,每个房间最多20个玩家。
- 一个Demo关卡流程:有限的2d地图,随机生成食物,吃食物会变大,碰到敌人会产生伤害(大吞小,小死亡)。
- 一个比较基本的战斗技能框架设计,主动/被动技能释放(demo已经包含主动技能演示)。
- 时间线技能事件系统
- 子弹碰撞系统(碰撞检测使用Box2dSharp)
- 额外(有空的话):2d moba玩法。
-
多key配置说明,表格配置多key如下,字段列头顶增加“key”标识即可,最多支持4个key,组合key最后会合并成一个long字段存储,4个key最大数值分别为:32位,16位,8位,8位。
示例,读取技能等级表中技能id=1001,level=2的数据:
SkillLevelConfig skillLevel = SkillLevelConfigCategory.Instance.GetByKeys(1001, 2);
感谢JetBrains公司提供的使用许可证!