refactor(enemy): BossBase 瘦身——删技能执行与弹反反制两套

技能选取/执行归 EnemyAttackSelector + EnemyAbilityBase(阶段一已就位),
BossBase 不再持有 BossSkillExecutor。阶段切换改用能力注册表打断在跑的招。

弹反反制整套删除:它订阅的是全局弹反成功频道,无来源过滤——
玩家弹反任意小怪都会让场上 Boss 硬直。正确形态是 EnemyBase.ReceiveParry
(谁被弹反谁硬直),其接线为独立后续任务。

调试面板的 BossSkillExec 行换为阶段与过渡状态。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-30 16:19:21 +08:00
co-authored by Claude Opus 5
parent 635ab69bb6
commit a44aafee3a
2 changed files with 15 additions and 219 deletions
@@ -11,7 +11,7 @@ namespace BaseGames.Enemies
/// - AI 决策状态 / EnemyStateType
/// - 当前激活的能力名称及运行状态
/// - LOS 状态 / 到玩家距离
/// - Boss技能执行状态 + 各技能冷却倒计时
/// - Boss当前阶段与阶段过渡状态
/// </summary>
[AddComponentMenu("BaseGames/Debug/Enemy Debug Overlay")]
public sealed class EnemyDebugOverlay : MonoBehaviour
@@ -110,7 +110,9 @@ namespace BaseGames.Enemies
// Boss 信息
if (_boss != null)
{
list.Add($"BossSkillExec: <color={( _boss.IsBossSkillExecuting ? "#ff4444" : "#aaaaaa")}>{_boss.IsBossSkillExecuting}</color>");
// 上面第 2 行已用 "Phase:" 表示 AI 决策状态名,这里用 "BossPhase:" 区分,避免同名两行
list.Add($"BossPhase: {_boss.CurrentPhase}" +
(_boss.IsPhaseTransitioning ? " <color=#ffcc44>(transitioning)</color>" : ""));
}
// 状态效果