using UnityEngine;
using TMPro;

public class HealthManager : MonoBehaviour
{
    [SerializeField] private float _maxHealth = 100f;
    [SerializeField] private float _currentHealth = 100f;
    [SerializeField] private TMP_Text _healthText;

    public float CurrentHealth { get => _currentHealth;}
    public float MaxHealth { get => _maxHealth; }

    private void Start()
    {
        if(_healthText != null)
            _healthText.text = _currentHealth.ToString() + "/" + _maxHealth.ToString();
    }

    private void Update()
    {
        if (_healthText != null)
            _healthText.text = _currentHealth.ToString() + "/" + _maxHealth.ToString();

    }

    public void ModifyHealth(float amount)
    {
        if (_currentHealth + amount > _maxHealth)
        {
            _currentHealth = _maxHealth;
            return;
        }
        if (_currentHealth + amount <= 0)
        {
            _currentHealth = 0;
            if (transform.tag == "Player")
                Debug.Log("Game over bastarde");
            else
            {
                Destroy(gameObject);
                Debug.Log("Character named " + gameObject.name + " died");
            }
            return;
        }
        _currentHealth += amount;

        Debug.Log("Health of " + gameObject.name + ": " + _currentHealth);
    }
    
}
