private void CheckForAmmo(Trooper trooper) { if (_ammoClips.Count(a => a.Position.Equals(trooper.Position) && !a.IsTaken) > 0) { var ammoClip = _ammoClips.Find(a => a.Position.Equals(trooper.Position)); ammoClip.IsTaken = true; trooper.AddAmmo(ammoClip.NumberOfBullets); if (_ammoClips.Count(a => !a.IsTaken) == 0) { foreach (var ammo in _ammoClips.Where(a => !a.Position.Equals(trooper.Position))) { ammo.IsTaken = false; } } } }