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