namespace BaseGames.AI { /// /// 传给所有状态回调 / 转换条件的上下文。声明层的 lambda 只能通过它访问实例, /// 不得闭包捕获具体敌人——这是 lambda 挂在共享 AiGraph 上的前提。 /// public interface IAiContext { ISensor Sensor { get; } IEnemyLocomotion Locomotion { get; } ICombatant Combat { get; } IActorVitals Vitals { get; } Blackboard Blackboard { get; } /// /// Boss 专属决策面。**非 Boss 敌人访问本属性会抛 InvalidOperationException**—— /// 小怪图误用 Boss 边必须立刻暴露,不返回空对象把问题盖住。 /// IBossControl Boss { get; } } }