basil/vampire-like 开发周报(2026-06-03 ~ 2026-06-04)
本次改动概览
本周针对 vampire-like 仓库共提交 5 个 commit,累计代码增删行数为 +494 / -143,其中代码类调整 4 项,架构配套文档更新 1 项。
核心改动说明
架构分层规整:从结构到约束的全链路解耦
本周集中做了一批架构层面的调整,核心是为了规范代码分层编排,让数据层、运行层、UI 与编排层各司其职,从根上解决之前跨层乱引用导致的严重耦合问题,主要包含三部分动作:
- 核心数据目录迁移:把原 Runtime 路径下的 EntityData 相关文件、PropItem.cs 统一迁移到
Assets/GameMain/Scripts/Base对应目录下,新增 Base/Entity 目录明确基础数据层的边界,同步清理了 PropItem 里冗余的 using 引用,共涉及 20 个文件,增删 +116 / -40。 - 命名空间全量规范:批量调整 21 个文件的引用规则:移除 GameFramework 层 3 个运行时文件里冗余的 Utility 别名引用,把所有
CustomUtility的引用统一修正为SepCore.CustomUtility,清理 DebugPanel 等文件的无效 using,同时同步更新了 Launcher.unity 启动场景里的流程类引用路径,把原 Procedure 命名空间下的启动、切场景流程统一调整为SepCore.Procedure前缀,避免运行时找不到类的问题。 - 架构约束文档落地:合并了
refactor-assembly分支的 PR #1 到 GPU-Instancing 分支,输出了两份落地规范:- 新增《程序集组织规范》(AssemblyOrganization.md),明确
Assets/GameMain/Scripts下的 C# 程序集拆分规则,核心约定单向依赖原则:下层不允许引用上层,上层可自由引用下层,从规则上规避跨层耦合。 - 更新《UI-5层架构设计规范》,补充插件化落地方案:UIModule 以可选插件的形式放在
Assets/Plugins/UIModule/下,不拆独立程序集,而是通过.asmref融入原有项目各程序集,兼顾插件的可插拔性和维护成本,避免多程序集带来的编译复杂度提升。
- 新增《程序集组织规范》(AssemblyOrganization.md),明确
这批调整属于大范围的引用改动,其中核心数据基类
EntityDataBase.cs被多轮提交叠加修改,存在隐藏引用冲突的风险。调整完成后我们完整跑通了一遍游戏全流程,修复了改动过程中出现的零散问题,目前项目可正常运行。
SpriteCache 读取异步化:统一代码风格
调整了 SpriteCache 的资源读取方式,把 Presentation 层相关的核心方法从同步签名批量改成 UniTask 异步签名,涉及 RoleItem/DisplayItem 的 OnInit、GoodsItemContext 的创建方法、DisplayItemInfoForm 的 RefreshUI、ShopController 的 BuildContext 等共 7 个文件,增删 +58 / -44。
这次改造主要是为了统一代码风格:项目之前已经引入了 UniTask 异步框架,但 SpriteCache 相关逻辑还在用旧的事件回调写法,逻辑绕、可读性差,所以逐步把这条调用链路切换成异步风格,改完之后整体逻辑直观很多。开发过程中没有遇到明显的阻塞问题,主要工作量集中在批量调整方法签名和对应调用点,改动完成后也随全流程测试验证过资源加载的正确性。
后续跟进事项
- 架构重构的落地节奏:接下来会按照新出的程序集规范,逐步推进各层的程序集拆分,每轮改动控制影响范围,避免一次性调整过多文件导致难排查问题。
- 异步改造的补全与对齐:目前 SpriteCache 的主链路已经改成异步,后续新增相关业务逻辑时要统一使用异步写法,同时排查边缘场景下是否存在遗漏的调用点未调整。
- 架构规范的团队落地:把新输出的两份架构规范同步给所有开发同学,后续新增代码严格遵守分层、命名空间和程序集依赖规则,避免刚梳理清楚的边界又被乱引用打破。
- 核心改动的回归验证:后续版本迭代时重点关注实体数据、资源加载相关的逻辑,避免这批大改动留下的隐藏问题漏到线上。
注:本文由模型
unknown生成(草稿与终稿同模型)。