Files
zeling_v2/Assets/_Game/Scripts/AI/IBossControl.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

26 lines
1.2 KiB
C#

namespace BaseGames.AI
{
/// <summary>
/// Boss 专属决策面。挂在 <see cref="IAiContext"/> 上供 Boss 图读取阶段状态、发起阶段过渡、
/// 查询竞技场锚点。只暴露"决策需要知道的",过渡演出与无敌帧由实现方(BossBase)负责。
/// 非 Boss 敌人访问 <see cref="IAiContext.Boss"/> 会抛异常——这是有意的显式失败。
/// </summary>
public interface IBossControl
{
/// <summary>当前阶段索引(出生为 0)。</summary>
int CurrentPhase { get; }
/// <summary>是否处于阶段过渡(无敌 + 过渡演出)期间。</summary>
bool IsPhaseTransitioning { get; }
/// <summary>Boss 资源是否已满(无资源组件时恒为 false)。</summary>
bool ResourceFull { get; }
/// <summary>发起阶段过渡:无敌 invincibleDuration 秒后切入 targetPhase。</summary>
void BeginPhaseTransition(int targetPhase, float invincibleDuration);
// 竞技场锚点两成员(AnchorAt / DistanceToAnchor)在 Task 10 与
// BossArenaAnchors 组件一并加入——此刻加会让 Task 2–8 期间 BossBase 编译不过。
}
}