33 lines
701 B
C#
33 lines
701 B
C#
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;
|
|
}
|
|
}
|