Files
zeling_v2/Assets/_Game/Scripts/AI/IAiContext.cs
T
joywayerandClaude Opus 5 3665504a58 feat(ai): 新增 IBossControl facet——Boss 阶段状态经 IAiContext 供图读取
非 Boss 敌人访问 IAiContext.Boss 显式抛 InvalidOperationException,
不返回空对象掩盖小怪图误挂 Boss 边的错误。BossResource 补 IsFull 供图条件边判定。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-30 12:15:54 +08:00

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; }
}
}