using UnityEngine; using RR.Common.Interfaces; namespace RR.Game2D.Behaviour { [System.Serializable] public class Health : MonoBehaviour { [SerializeField] private float maxHealth = 3; [SerializeField] private float currentHealth; private IDamageable _owner; public float MaxHealth => maxHealth; public float CurrentHealth => currentHealth; public void SetOwner(IDamageable healthOwner) { _owner = healthOwner; } public void SetMaxHealth(float value) { maxHealth = value; currentHealth = maxHealth; } public void TakeDamage(float amount) { currentHealth -= amount; if (currentHealth <= 0) { _owner?.Die(); } } public void Heal(float amount) { currentHealth = Mathf.Min(currentHealth + amount, maxHealth); } public void ResetHealth() { currentHealth = maxHealth; } } }