Example #1
0
        //============================================================================*
        // PopulateFirearmCombo()
        //============================================================================*

        private void PopulateFirearmCombo()
        {
            m_fPopulating = true;

            //----------------------------------------------------------------------------*
            // Get the currently selected firearm
            //----------------------------------------------------------------------------*

            cFirearm SelectedFirearm = null;

            if (FirearmCombo.SelectedIndex > 0 || FirearmCombo.SelectedItem is cFirearm)
            {
                SelectedFirearm = (cFirearm)FirearmCombo.SelectedItem;
            }

            //----------------------------------------------------------------------------*
            // Reset the firearm combo
            //----------------------------------------------------------------------------*

            FirearmCombo.Items.Clear();

            //----------------------------------------------------------------------------*
            // Get the selected Bullet
            //----------------------------------------------------------------------------*

            cBullet Bullet = null;

            if (BulletCombo.SelectedIndex > 0 || BulletCombo.SelectedItem is cBullet)
            {
                Bullet = (cBullet)BulletCombo.SelectedItem;
            }

            //----------------------------------------------------------------------------*
            // Populate the firearm combo
            //----------------------------------------------------------------------------*

            FirearmCombo.Items.Add("No Specific Firearm");

            foreach (cFirearm Firearm in m_DataFiles.FirearmList)
            {
                if (Firearm.FirearmType == cFirearm.eFireArmType.Rifle &&
                    (Bullet == null || Firearm.CanUseBullet(Bullet)))
                {
                    FirearmCombo.Items.Add(Firearm);
                }
            }

            if (SelectedFirearm != null)
            {
                FirearmCombo.SelectedItem = SelectedFirearm;
            }

            if (FirearmCombo.SelectedIndex == -1)
            {
                FirearmCombo.SelectedIndex = 0;
            }

            m_fPopulating = false;
        }