feat(ai): BrainBuilder.DeclareState——重复声明状态即报错,防模块间同名静默覆盖

State() 仍保持宽松(有则取),用于给已声明的态挂边;DeclareState() 只用于
首次声明行为,重复声明同名状态会抛异常。AiStateFragments 的四个建态原语
(Locomotion/Ability/AbilityOnce/Terminal)改用 DeclareState。同时给
IEngagementModule/IDeathModule/IUnawareModule 补充不变量说明。
This commit is contained in:
2026-07-29 12:01:19 +08:00
parent 5dcbce6019
commit 80fdc36762
6 changed files with 56 additions and 5 deletions
@@ -5,6 +5,9 @@ namespace BaseGames.Enemies
/// <summary>
/// 死亡层:单态终结(演出交给物理状态机)/ 单段死亡能力 / 两段演出(可带生成物)。
/// 骨架只挂一条 Global → EntryState 的 Died 事件边,链条内容全归本模块。
///
/// 同 IEngagementModule:骨架只把全局 Died 边指向 EntryState,不在死亡链内部挂边,
/// 故单阶段 Build 足够。
/// </summary>
public interface IDeathModule
{