using UnityEngine; using UnityEngine.UI; public class HealthBar : MonoBehaviour { [SerializeField] private Image healthBar; [SerializeField] private HealthComponent attachHealth; private void Awake() { attachHealth.OnHealthChange.AddListener(UpdateBar); } private void Start() { UpdateBar(0f, attachHealth.currentHealth); // initial check } private void OnDestroy() { attachHealth.OnHealthChange.RemoveListener(UpdateBar); } private void UpdateBar(float prev, float curr) { float percent = curr / attachHealth.StartHealth; healthBar.fillAmount = percent; } }