using UnityEngine; using BaseGames.Combat; namespace BaseGames.Enemies { /// /// 敌人战斗组件(Phase 1 桩,架构 07_EnemyModule §4)。 /// Phase 2 实现:HitBox 按 AttackType 索引管理、伤害来源 SO 注入。 /// public class EnemyCombat : MonoBehaviour { [SerializeField] private HitBox[] _hitBoxes; // Inspector 按 AttackType 索引绑定 public void StartAttack(AttackType type) { // Phase 1 桩:Phase 2 播放攻击动画,由 AnimationEvent 触发 HitBox On/Off int idx = (int)type; EnableHitBox(idx); } public void EnableHitBox(int index) { if (_hitBoxes == null || index >= _hitBoxes.Length) return; _hitBoxes[index]?.Activate(); } public void DisableHitBox(int index) { if (_hitBoxes == null || index >= _hitBoxes.Length) return; _hitBoxes[index]?.Deactivate(); } public void DisableAllHitBoxes() { if (_hitBoxes == null) return; foreach (var hb in _hitBoxes) hb?.Deactivate(); } } }