using BaseGames.Combat; using UnityEngine; namespace BaseGames.Enemies { /// /// 接触伤害:组件启用时持续激活 HitBox,令敌人对接触到的目标定期造成伤害。 /// 适用于无攻击动画的简单障碍物、环境危险或测试场景。 /// [RequireComponent(typeof(HitBox))] public class BodyContactDamage : MonoBehaviour { [SerializeField] private float _repeatInterval = 0.5f; private HitBox _hitBox; private float _timer; private void Awake() => _hitBox = GetComponent(); private void OnEnable() { _hitBox?.Activate(); _timer = 0f; } private void OnDisable() => _hitBox?.Deactivate(); private void Update() { _timer += Time.deltaTime; if (_timer >= _repeatInterval) { _timer = 0f; _hitBox.Activate(); } } } }