using UnityEngine; namespace Projectiles { /// /// A simple component for playing hit feedback on dummy targets (moving spheres). /// [RequireComponent(typeof(Health))] public class HitReactions : MonoBehaviour { // PRIVATE MEMBERS [Header("Animation")] [SerializeField] private Animation _animation; [SerializeField] private AnimationClip _hitClip; [SerializeField] private AnimationClip _fatalHitClip; // MONOBEHAVIOUR protected void OnEnable() { var health = GetComponent(); health.HitTaken += OnHitTaken; } protected void OnDisable() { var health = GetComponent(); health.HitTaken -= OnHitTaken; } // PRIVATE MEMBERS private void OnHitTaken(HitData hitData) { if (_animation != null) { var clip = hitData.IsFatal == true ? _fatalHitClip : _hitClip; _animation.Play(clip.name); } } } }