public float Heal(float amount)
    {
        if (amount < 0.0f)
        {
            return(Damage(amount));
        }

        _health += amount;
        _object.OnHeal(_health, amount);

        if (onHeal != null)
        {
            onHeal();
        }

        if (healthBar != null)
        {
            healthBar.Charge(amount / maxHealth);
        }

        if (_health > maxHealth)
        {
            _health = maxHealth;
        }

        return(_health);
    }