Beispiel #1
0
        //============================================================================*
        // CompareTo()
        //============================================================================*

        public int CompareTo(Object obj)
        {
            if (obj == null)
            {
                return(1);
            }

            cFirearmCaliber FirearmCaliber = (cFirearmCaliber)obj;

            //----------------------------------------------------------------------------*
            // Compare Caliber
            //----------------------------------------------------------------------------*

            return(m_Caliber.CompareTo(FirearmCaliber.m_Caliber));
        }
Beispiel #2
0
        //============================================================================*
        // Comparer()
        //============================================================================*

        public static int Comparer(cFirearmCaliber FirearmCaliber1, cFirearmCaliber FirearmCaliber2)
        {
            if (FirearmCaliber1 == null)
            {
                if (FirearmCaliber2 != null)
                {
                    return(-1);
                }
                else
                {
                    return(0);
                }
            }

            return(FirearmCaliber1.CompareTo(FirearmCaliber2));
        }
Beispiel #3
0
        //============================================================================*
        // 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);
        }
Beispiel #4
0
        //============================================================================*
        // 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);
        }
Beispiel #5
0
        //============================================================================*
        // 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;
                }
            }
        }
Beispiel #6
0
        //============================================================================*
        // cFirearmCaliber() - Copy Constructor
        //============================================================================*

        public cFirearmCaliber(cFirearmCaliber FirearmCaliber)
        {
            Copy(FirearmCaliber);
        }
Beispiel #7
0
        //============================================================================*
        // Copy()
        //============================================================================*

        public void Copy(cFirearmCaliber FirearmCaliber)
        {
            m_Caliber = FirearmCaliber.m_Caliber;

            m_fPrimary = FirearmCaliber.m_fPrimary;
        }