State() 仍保持宽松(有则取),用于给已声明的态挂边;DeclareState() 只用于 首次声明行为,重复声明同名状态会抛异常。AiStateFragments 的四个建态原语 (Locomotion/Ability/AbilityOnce/Terminal)改用 DeclareState。同时给 IEngagementModule/IDeathModule/IUnawareModule 补充不变量说明。
20 lines
657 B
C#
20 lines
657 B
C#
using BaseGames.AI;
|
|
|
|
namespace BaseGames.Enemies
|
|
{
|
|
/// <summary>
|
|
/// 死亡层:单态终结(演出交给物理状态机)/ 单段死亡能力 / 两段演出(可带生成物)。
|
|
/// 骨架只挂一条 Global → EntryState 的 Died 事件边,链条内容全归本模块。
|
|
///
|
|
/// 同 IEngagementModule:骨架只把全局 Died 边指向 EntryState,不在死亡链内部挂边,
|
|
/// 故单阶段 Build 足够。
|
|
/// </summary>
|
|
public interface IDeathModule
|
|
{
|
|
void Build(BrainBuilder b);
|
|
|
|
/// <summary>骨架全局死亡边指向的态。</summary>
|
|
string EntryState { get; }
|
|
}
|
|
}
|