 joywayerandClaude Opus 5
|
d013fe8e2e
|
docs(enemy): 写明 RushExit.Committed 防抖动的前提是能力 cooldown > 0
质量审查发现:Committed 的冷却门若遇上 cooldown==0 的能力,
CanUseAbility 结束下一帧即恢复,Rush↔Rest 每帧抖动照旧出现。
这属能力侧配置错误,不在模块内兜底,纳入 AiDefinitionValidator 校验项。
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-07-29 12:41:09 +08:00 |
|
 joywayerandClaude Opus 5
|
5dcbce6019
|
docs(enemy): 计划新增 T5b——BrainBuilder.DeclareState 防模块间状态名冲突
契约质量审查提出:模块化后 State() 的"有则取"语义使两个独立模块
取同名状态时后者静默覆盖前者回调。与 T1 的 RequireState 是同一类
失败的两面,趁 0 个模块实现时补代价最低。附带补充交战/死亡层
"为何单阶段 Build 足够"的不变量说明。
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-07-29 11:57:57 +08:00 |
|
 joywayerandClaude Opus 5
|
2643f58b08
|
docs(enemy): 计划同步——AiStateFragments 空能力 id 改建图期报错
原稿沿用旧代码的静默跳过写法。AiStateFragments 成为公开原语后,
定制 AiScript 漏配 id 会产出"存在但什么都不做"的状态且无报错,
与 T1 引入 BrainBuilder.RequireState 的理由是同一类失败,不应双标。
校验放建图期而非每帧回调,兼顾快速失败与热路径开销。
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-07-29 11:43:15 +08:00 |
|
 joywayerandClaude Opus 5
|
f3c17de223
|
docs(enemy): 敌人 AI 组合式模块架构实施计划(17 个任务,TDD)
含计划阶段发现的三处修正:
- 未发现层拆 Declare/Link 两阶段,保证骨架升级边优先于内部计时边;
- 模块参数校验与委托缓存移出构造函数([SerializeReference] 不保证走 ctor);
- 新增 AiStateFragments.AbilityOnce,修死亡态演出被 Tick 无限重播的隐患。
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-07-29 10:51:07 +08:00 |
|
 joywayerandClaude Opus 5
|
e59e24cca0
|
docs(enemy): 修正 AI 配方解析方式——直接引用替代注册表双源
实施计划阶段发现两处硬阻塞:
1. BaseGames.AI 只引用 BaseGames.Core,无法收集依赖 Enemies 的 AiRecipeSO;
2. 项目 database SO 走 [SerializeField] 直接引用而非 Addressables,静态注册表取不到。
改为 EnemyAiBrain 上 _recipe 资产引用 / _definitionId 脚本 id 二选一。
净减 AiRecipeDatabaseSO、Addressables 加载、AddressKeys 改动、asmdef 改动;
flyweight 与配方路径零字符串 id 均保持。
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-07-29 10:38:07 +08:00 |
|
 joywayerandClaude Opus 5
|
1c32d8c87e
|
docs(enemy): 敌人 AI 组合式模块架构设计(替换 PerceptionStateMachine)
四层架构:固定感知骨架 + 可插拔的 未发现层/交战层/死亡层;
两种定义源:PerceptionRecipeSO 配方资产(约 95% 敌人零代码)+ AiScript 定制脚本;
消除 Config 开关面板(EngagementStyle/PatrolBetweenChases → RushExit 语义枚举);
能力引用资产化(AbilityRef);AiSignal 8→1 清理死枚举。
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-07-29 10:20:22 +08:00 |
|
joywayer
|
02ea0bb576
|
docs(enemy): 标注脱图脱困设计已作废(被移除寻路库方案取代,未实施)
|
2026-07-28 13:03:54 +08:00 |
|
joywayer
|
d9ec0a4f6e
|
docs(enemy): 移除寻路库实现计划(10任务/6阶段,TDD+编译门+回归门+PlayMode验收)
|
2026-07-28 10:53:21 +08:00 |
|
joywayer
|
d74a2b6646
|
docs(enemy): 移除寻路库后的敌人导航框架设计(IEnemyNavigator 瘦身+地面直移+StallDetector 收敛)
|
2026-07-28 10:41:30 +08:00 |
|
joywayer
|
579499e678
|
docs(enemy): 脱困改用敌人自身步速(MoveHorizontal/WalkSpeed),移除独立速度参数
|
2026-07-27 16:45:00 +08:00 |
|
joywayer
|
e7f1633877
|
docs(enemy): 导航脱图统一脱困设计(含 Wander/Waypoints 静默吞失败与 Pace 边沿翻向两个根因)
|
2026-07-27 16:31:32 +08:00 |
|
joywayer
|
8a6450910e
|
docs(enemy): 身体几何权威源实现计划(4任务,TDD+编译门+191测试门+PlayMode等价性验证)
|
2026-07-27 11:38:34 +08:00 |
|
joywayer
|
3752a9a0e0
|
docs(enemy): 角色身体碰撞体唯一权威源(IEnemyBody)设计
|
2026-07-27 11:20:09 +08:00 |
|
joywayer
|
cd9acfcde1
|
docs: 共享底座抽取决策记录(WeightedPick 已抽;冷却/HitBox 窗口否决理由;Boss BrainGraph 路线)
|
2026-07-27 10:00:05 +08:00 |
|
joywayer
|
f15f0a6876
|
docs(enemy): 寻路逼近+攻击选择器实现计划(9任务,TDD选择器+状态机,编译门+Play验证)
|
2026-07-24 11:50:20 +08:00 |
|
joywayer
|
c33ce55f13
|
docs(enemy): 寻路逼近+攻击选择器设计(感知管交战/招式自管射程/两选招模式)
|
2026-07-24 11:21:35 +08:00 |
|
 joywayerandClaude Opus 4.8
|
a60073d92c
|
docs(enemy): 敌人寻路受阻处理实现计划(6任务,编译门+Play验证)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-23 16:44:12 +08:00 |
|
 joywayerandClaude Opus 4.8
|
04b294734a
|
docs(enemy): 敌人寻路受阻处理设计(Waypoints+MoveTo,含卡死检测与最近可达点)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-23 16:37:39 +08:00 |
|
joywayer
|
0ad4acc484
|
docs(plan): 敌人能力配置迁移到 AbilitySO 子类实现计划
|
2026-07-21 11:04:36 +08:00 |
|
joywayer
|
68e2cc506d
|
docs(spec): 敌人能力配置迁移到 AbilitySO 子类设计文档
|
2026-07-21 10:42:25 +08:00 |
|
joywayer
|
a7307a5a07
|
调整文档
|
2026-07-21 10:22:43 +08:00 |
|