public void ApplyDamage(DamageItem damage) { if (Health <= 0) { return; } TryDamageProtection(damage.Type, ref damage.Value); TryDamageHealth(damage.Value); if (Health > 0) { LivesValueChanged?.Invoke(); PerformOnDamage(); } else { OnDie?.Invoke(); PerformOnDie(); } }
public void Heal(float value) { Health = Mathf.Min(Health + value, MaxHealth); LivesValueChanged?.Invoke(); }