// Takes damage from source. public void TakeDamage(IDamageDealer source, Damage damage) { HealthPoints.Current -= damage.Amount; CheckDeath(); }
// Deals damage to target. public void DealDamage(IDamageable target, Damage damage) { target.TakeDamage(this, damage); }