//============================================================================* // 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; }