//============================================================================* // CompareTo() //============================================================================* public int CompareTo(Object obj) { if (obj == null) { return(1); } cFirearmCaliber FirearmCaliber = (cFirearmCaliber)obj; //----------------------------------------------------------------------------* // Compare Caliber //----------------------------------------------------------------------------* return(m_Caliber.CompareTo(FirearmCaliber.m_Caliber)); }
//============================================================================* // Comparer() //============================================================================* public static int Comparer(cFirearmCaliber FirearmCaliber1, cFirearmCaliber FirearmCaliber2) { if (FirearmCaliber1 == null) { if (FirearmCaliber2 != null) { return(-1); } else { return(0); } } return(FirearmCaliber1.CompareTo(FirearmCaliber2)); }
//============================================================================* // Append() //============================================================================* public int Append(cFirearmCaliber FirearmCaliber, bool fCountOnly = false) { int nUpdateCount = 0; if (!m_fPrimary && FirearmCaliber.m_fPrimary) { if (!fCountOnly) { m_fPrimary = FirearmCaliber.m_fPrimary; } nUpdateCount++; } return(nUpdateCount); }
//============================================================================* // AddCaliber() //============================================================================* public bool AddCaliber(cCaliber Caliber) { if (Caliber == null) { return(false); } bool fFound = false; foreach (cFirearmCaliber FirearmCaliber in m_FirearmCaliberList) { if (FirearmCaliber.Caliber.CompareTo(Caliber) == 0) { fFound = true; break; } } if (!fFound) { cFirearmCaliber FirearmCaliber = new cFirearmCaliber(); FirearmCaliber.Caliber = Caliber; if (m_FirearmCaliberList.Count == 0) { FirearmCaliber.Primary = true; } m_FirearmCaliberList.Add(FirearmCaliber); return(true); } return(false); }
//============================================================================* // 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; } } }
//============================================================================* // cFirearmCaliber() - Copy Constructor //============================================================================* public cFirearmCaliber(cFirearmCaliber FirearmCaliber) { Copy(FirearmCaliber); }
//============================================================================* // Copy() //============================================================================* public void Copy(cFirearmCaliber FirearmCaliber) { m_Caliber = FirearmCaliber.m_Caliber; m_fPrimary = FirearmCaliber.m_fPrimary; }