//============================================================================* // RemoveCaliber() //============================================================================* public void RemoveCaliber(cFirearmCaliber FirearmCaliber) { if (FirearmCaliber == null) { return; } cCaliber Caliber = FirearmCaliber.Caliber; //----------------------------------------------------------------------------* // Remove the caliber //----------------------------------------------------------------------------* m_FirearmCaliberList.Remove(FirearmCaliber); //----------------------------------------------------------------------------* // If it was the primary, pick a new one //----------------------------------------------------------------------------* bool fPrimaryFound = false; foreach (cFirearmCaliber CheckCaliber in m_FirearmCaliberList) { if (CheckCaliber.Primary) { fPrimaryFound = true; break; } } if (!fPrimaryFound) { if (m_FirearmCaliberList.Count > 0) { m_FirearmCaliberList[0].Primary = true; } } //----------------------------------------------------------------------------* // Remove firearm bullets that match the removed caliber //----------------------------------------------------------------------------* while (true) { bool fRemoved = false; foreach (cFirearmBullet CheckBullet in m_FirearmBulletList) { if (CheckBullet.Caliber.CompareTo(Caliber) == 0) { m_FirearmBulletList.Remove(CheckBullet); fRemoved = true; break; } } if (!fRemoved) { break; } } }