Commit Graph
7 Commits
Author SHA1 Message Date
joywayer 5771ac414e test(enemy): 补测 Committed 冲锋的防抖动闭环,RushExit 写明冷却前提 2026-07-29 12:45:43 +08:00
joywayer bb1e2f7705 feat(enemy): RushEngagement——两个耦合 flag 合并为 RushExit 语义枚举 2026-07-29 12:32:50 +08:00
joywayer acfba66c5d feat(enemy): 未发现层三模块(单一态/单向降级/定时交替) 2026-07-29 12:19:26 +08:00
joywayer 80fdc36762 feat(ai): BrainBuilder.DeclareState——重复声明状态即报错,防模块间同名静默覆盖
State() 仍保持宽松(有则取),用于给已声明的态挂边;DeclareState() 只用于
首次声明行为,重复声明同名状态会抛异常。AiStateFragments 的四个建态原语
(Locomotion/Ability/AbilityOnce/Terminal)改用 DeclareState。同时给
IEngagementModule/IDeathModule/IUnawareModule 补充不变量说明。
2026-07-29 12:01:19 +08:00
joywayer 17e71dac39 feat(enemy): 未发现层/交战层/死亡层三个模块契约 2026-07-29 11:47:29 +08:00
joywayer 68f615e9c1 fix(enemy): AiStateFragments 空能力 id 建图期报错,补 OnExit 收尾测试
Ability/AbilityOnce 建图期校验 abilityId 非空,与 BrainBuilder.RequireState
同一类"漏配即快速失败"约束保持一致,避免定制 AiScript 漏配 id 时产出静默
不作为的状态。同时补 4 个测试:Locomotion/Ability 的 OnExit 收尾行为,以及
两个原语对空 id 的报错行为。
2026-07-29 11:42:47 +08:00
joywayer 77a32cbf8a feat(enemy): AiStateFragments 建态原语,新增 AbilityOnce 修死亡态重触发隐患
从 PerceptionStateMachine 的 private static 辅助方法提升为公开原语,供后续
模块化重构(骨架+可插拔模块)与定制 AiScript 复用。新增 AbilityOnce:
只在进入时触发能力、不每帧重触发,修复用 Ability() 驱动死亡态时演出播完
被 Tick 无限重播的隐患(现有 PerceptionStateMachine 因 E001 死亡能力 id
为空未暴露,本次不改它,留待 T11 整体退役)。
2026-07-29 11:35:47 +08:00