docs(enemy): 按 Task 1+2 审查结论修订 spec 与计划

spec:ResourceFull 由「无组件时恒 false」改为显式抛,与 Boss facet、AnchorAt
统一为「依赖组件缺失一律抛,不返默认值」。
计划:Task 16 补上 BossBase 残余三处行为树残留的清理项(含运行时告警字符串);
Task 19 记录 Patterns/ 是零外部引用的独立程序集,可整目录删。
This commit is contained in:
2026-07-30 12:32:43 +08:00
parent 2a1ada4388
commit b0fd040904
2 changed files with 17 additions and 1 deletions
@@ -2441,6 +2441,12 @@ TestRoomA 加开战触发区。三件自检 0 error。
**这属于既有缺陷,若出现请单独记录,不要在本 Task 顺手改**
9. `LastUsedSkillId = null;` 两处(`EnterPhase``OnSpawn`)删掉——防重复记忆已归选招器
10. using 区里因此不再需要的 `using BaseGames.Boss;``using BaseGames.Parry;`
11. **清掉本文件残余的三处行为树残留**(Task 1+2 执行时发现并留待此处,因为本 Task 正好重写这片区域):
- 第 76 行附近的区段注释 `// ── 技能执行(BD Task 调用入口)` —— 随该区段一并删除
- `BeginPhaseTransition` 文档里的 `BD_BossPhaseTransition 检查 IsPhaseTransitioning 来等待过渡完成。`
—— 改为 `AI 图挂 When(x => !x.Boss.IsPhaseTransitioning) 边等待过渡完成。`
- `BeginPhaseTransition` 重入告警里的运行时字符串 `请检查行为树逻辑是否重复触发阶段切换。`
—— 改为 `请检查 AI 图是否重复触发阶段切换。`(这条是开发期真的会看到的日志,不能留)
- [ ] **Step 2: 编译检查**
@@ -2660,6 +2666,10 @@ rm -r Assets/_Game/Scripts/Enemies/Boss/Patterns
rm -f Assets/_Game/Scripts/Enemies/Boss/Patterns.meta
```
⚠️ `Patterns/` 是**独立程序集**`BaseGames.Enemies.Boss.Patterns.asmdef``autoReferenced: true`)。
已核实**零外部引用**(无任何 asmdef 的 `references` 含它),因此可随目录整包删除。
删除后无需改动任何其他 asmdef。
- [ ] **Step 3: 编译 + 全量回归**
回 Unity 刷新。MCP `unity_get_compilation_errors` 期望 0 errors 0 warnings`Run All` 期望全绿。