Files
zeling_v2/Assets/_Game/Scripts/Enemies/Abilities/IAttackCandidate.cs
T
joywayer 50f505279d feat(enemy): BossPhaseAbilityGate——阶段即换招池
按阶段启停能力组件,被禁用的招经 CanUse 自动退出选招候选,
阶段门不需要碰选招器。取代 BossSkillSO.availablePhaseIndices。
EnterPhase 先换池后广播;OnSpawn 回阶段 0(对象池复用)。
2026-07-30 13:50:34 +08:00

18 lines
848 B
C#

namespace BaseGames.Enemies.Abilities
{
/// <summary>
/// 攻击选择器的候选契约。攻击类 <see cref="EnemyAbilityBase"/> 实现之;
/// 抽象出来使 <see cref="EnemyAttackSelector"/> 可脱离 MonoBehaviour 单测。
/// </summary>
public interface IAttackCandidate
{
bool CanUse { get; } // 组件启用 + 未冷却 + 未运行 + 存活
bool RequiresLineOfSight { get; } // 是否需要视线(由敌人级 LOS 提供)
bool RequiresGrounded { get; } // 是否需要着地
float Weight { get; } // WeightedRandom 权重
int Priority { get; } // Priority 优先级
bool InAttackRange(); // 招式自管圆形射程内是否有玩家
bool Execute(); // 触发本招
}
}