public virtual void HandleHit(Bullet bullet, Living sprite) { sprite.ApplyDamage(Damage); SpriteContainer.Remove(bullet); if (!sprite.IsAlive()) SpriteContainer.Remove(sprite); afterSuccessfulHit(bullet, sprite); }
public void CheckHit(Bullet bullet, ISprite sprite) { if (sprite.Equals(Owner)) return; if (!(sprite is Living)) return; var livingSprite = sprite as Living; HandleHit(bullet, livingSprite); }
protected abstract void afterSuccessfulHit(Bullet bullet, Living sprite);
protected override void afterSuccessfulHit(Bullet bullet, Living sprite) { }