 joywayerandClaude Opus 5
|
bf7899f91a
|
feat(combat): 接通弹反反制——弹反成功让发起攻击的敌人硬直
EnemyBase.ReceiveParry 早就存在且形态正确(强制 Stagger + 打断全部能力 +
定时恢复,小怪 Boss 通用),但一直零调用者:弹反判定点拿不到攻击者引用。
硬直时长的权威也早就存在——ParryConfigSO.StaggerDuration,注释写着
「被弹反敌人的受击硬直时长」,同样零消费者。本次只是把这两端接上,没有新造语义。
接缝选在 DamageInfo 而非"弹反成功时回调 HitBox"(spec §6.2 留的两个选项):
攻击者引用与既有的 SourceProjectile 完全同构——都是"攻击从哪来"的引用,
供弹反分支反向作用于来源。落到代码上就是弹反分支里并列的两行,不引入第二条回调链路。
- Combat 新增 IParryable(攻击被弹反时的反制承受方)。用接口是因为程序集方向:
Combat 不能反向依赖 Enemies,而 HurtBox.ReceiveDamage 是唯一同时握有
弹反结果与 DamageInfo 的地方。与 IDamageable 同款做法。
- DamageInfo 加 Attacker 字段([NonSerialized],Builder 与 From 工厂同步支持)。
- HitBox 在 Activate 时按宿主解析并缓存 IParryable——与 _ownerRigidbody 同源、
与 _ownerProjectile 同手法。放 Activate 而非 Awake:attacker 可由调用方传入。
- ParrySystem 暴露 StaggerDuration,HurtBox 在弹反成功时读它,不另立常量。
- EnemyBase 声明实现 IParryable(方法签名本就匹配,无需改实现)。
顺带确认旧的全局误伤路径确实已随 Boss 单轨合并删净:全库不再有
HandleParrySuccess,ParryInfoEventChannelSO 只剩 ParrySystem 自己 Raise,
不存在"弹反小怪导致场上 Boss 一起硬直"的双重路径。
验证:编译 0 错;EditMode 276/276(273 + 新增 3)。
测试走完整 HurtBox 流水线:反射仅用于喂配置与跑真实 Awake,被测逻辑全程生产代码
(与 BossPhaseAbilityGateTests 同一手法)。硬直时长断言取 1.25f 这个非默认值,
才能证明读的是配置而非常量。用例把完美弹反阈值设为负数以避开会改 Time.timeScale
的子弹时间协程(编辑模式下它 yield 后不会恢复),TearDown 另有兜底还原。
变异验证——注释掉 HurtBox 里那一行后,恰好只有反制用例变红;还原后复验 276/276。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
2026-08-03 11:36:52 +08:00 |
|
joywayer
|
668bc3500e
|
feat(enemy): 新增 GroundNavigator 地面直接移动导航(+7 纯函数单测)
补充 EditMode 测试程序集对 BaseGames.Enemies.Navigation 的引用(此前缺失,新测试无法编译)
|
2026-07-28 11:12:11 +08:00 |
|
joywayer
|
63b3701fc7
|
@
test(ai): PerceptionStateMachine locomotion 意图回归测试(绿)
新增 PerceptionStateMachineTests:待机态声明 Idle locomotion 意图、进追逐区
转 Chase 并触发追击能力、Chase 态不再直接声明 locomotion 意图。测试程序集
补 BaseGames.Enemies 引用。断言经真实状态机 + 测试 fake 验证通过。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@
|
2026-07-10 12:21:28 +08:00 |
|
joywayer
|
db5bd019f8
|
feat(ai): BrainGraph 核心程序集 + AiSignal + Blackboard(可自省)
|
2026-07-03 13:56:11 +08:00 |
|
joywayer
|
f264329751
|
摄像机区域的架构改动
|
2026-05-15 14:47:24 +08:00 |
|
joywayer
|
1b37297585
|
多轮审查评估
|
2026-05-13 09:19:54 +08:00 |
|