feat(ai): BrainBuilder.DeclareState——重复声明状态即报错,防模块间同名静默覆盖
State() 仍保持宽松(有则取),用于给已声明的态挂边;DeclareState() 只用于 首次声明行为,重复声明同名状态会抛异常。AiStateFragments 的四个建态原语 (Locomotion/Ability/AbilityOnce/Terminal)改用 DeclareState。同时给 IEngagementModule/IDeathModule/IUnawareModule 补充不变量说明。
This commit is contained in:
@@ -18,7 +18,8 @@ namespace BaseGames.Enemies
|
||||
/// <summary>挂内部转换(如站立 ⇄ 巡逻的计时边)。没有内部边的模块留空实现。</summary>
|
||||
void Link(BrainBuilder b);
|
||||
|
||||
/// <summary>图入口(出生态)。</summary>
|
||||
/// <summary>图入口(出生态)。注意与交战/死亡层的 EntryState 不同:
|
||||
/// 本属性会成为整张图唯一的 BrainBuilder.Entry,而 EntryState 只是别处 To() 的目标。</summary>
|
||||
string Entry { get; }
|
||||
|
||||
/// <summary>脱战 / 警觉丢失后回到的态。必须属于 States。</summary>
|
||||
|
||||
Reference in New Issue
Block a user