非 Boss 敌人访问 IAiContext.Boss 显式抛 InvalidOperationException, 不返回空对象掩盖小怪图误挂 Boss 边的错误。BossResource 补 IsFull 供图条件边判定。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
22 lines
787 B
C#
22 lines
787 B
C#
namespace BaseGames.AI
|
|
{
|
|
/// <summary>
|
|
/// 传给所有状态回调 / 转换条件的上下文。声明层的 lambda 只能通过它访问实例,
|
|
/// 不得闭包捕获具体敌人——这是 lambda 挂在共享 AiGraph 上的前提。
|
|
/// </summary>
|
|
public interface IAiContext
|
|
{
|
|
ISensor Sensor { get; }
|
|
IEnemyLocomotion Locomotion { get; }
|
|
ICombatant Combat { get; }
|
|
IActorVitals Vitals { get; }
|
|
Blackboard Blackboard { get; }
|
|
|
|
/// <summary>
|
|
/// Boss 专属决策面。**非 Boss 敌人访问本属性会抛 InvalidOperationException**——
|
|
/// 小怪图误用 Boss 边必须立刻暴露,不返回空对象把问题盖住。
|
|
/// </summary>
|
|
IBossControl Boss { get; }
|
|
}
|
|
}
|