void ApplyDamage(EiDamage damage) { if (damage.HasDamage()) { var damageToBeDealt = Math.Min(CurrentHealth, damage.Damage); currentHealth.Value -= damageToBeDealt; damage.RemoveDamage(damageToBeDealt); } }
public virtual void Heal(EiDamage heal) { for (int i = subscribedHealingPipeline.Count - 1; i >= 0; i--) { if (heal.Break) { break; } if (heal.HasDamage()) { heal.Iteration++; Damage(heal); return; } subscribedHealingPipeline [i].Target(heal); } heal.Dispose(); }