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

        public bool AddBullet(cBullet Bullet, bool fCountOnly = false)
        {
            m_nImportCount++;

            foreach (cBullet CheckBullet in this)
            {
                if (CheckBullet.CompareTo(Bullet) == 0)
                {
                    m_nUpdateCount += CheckBullet.Append(Bullet, fCountOnly);

                    return(false);
                }
            }

            if (!fCountOnly)
            {
                Add(Bullet);
            }

            m_nNewCount++;

            Sort();

            return(true);
        }
Beispiel #2
0
        //============================================================================*
        // cFirearmCOLForm() - Constructor
        //============================================================================*

        public cFirearmBulletForm(cFirearmBullet FirearmBullet, cFirearm Firearm, cCaliber Caliber, cDataFiles DataFiles)
        {
            InitializeComponent();

            m_Firearm   = Firearm;
            m_Caliber   = Caliber;
            m_DataFiles = DataFiles;

            string strTitle = "";

            if (FirearmBullet == null)
            {
                FirearmBulletOKButton.Text = "Add";

                strTitle = "Add";

                m_FirearmBullet = new cFirearmBullet();

                m_FirearmBullet.Caliber = m_Caliber;
            }
            else
            {
                m_FirearmBullet = new cFirearmBullet(FirearmBullet);

                FirearmBulletOKButton.Text = "Update";

                strTitle = "Update";

                m_fAdd = false;
            }

            SetClientSizeCore(BulletDataGroupBox.Location.X + BulletDataGroupBox.Width + 10, FirearmBulletCancelButton.Location.Y + FirearmBulletCancelButton.Height + 20);

            //----------------------------------------------------------------------------*
            // Set Title
            //----------------------------------------------------------------------------*

            strTitle += " Firearm Specific Bullet Data";

            Text = strTitle;

            //----------------------------------------------------------------------------*
            // Set Control Event Handlers
            //----------------------------------------------------------------------------*

            BulletCombo.SelectedIndexChanged += OnBulletSelected;

            COALTextBox.TextChanged += OnCOLChanged;
            CBTOTextBox.TextChanged += OnCBTOChanged;
            JumpTextBox.TextChanged += OnJumpChanged;

            FirearmBulletOKButton.Click += OnOKClicked;

            //----------------------------------------------------------------------------*
            // Set Min/Max Values
            //----------------------------------------------------------------------------*

            COALTextBox.MinValue    = cDataFiles.StandardToMetric(m_Caliber.CaseTrimLength, cDataFiles.eDataType.Dimension);
            COALTextBox.MaxValue    = cDataFiles.StandardToMetric(m_Caliber.MaxCOL, cDataFiles.eDataType.Dimension);
            COALTextBox.NumDecimals = m_DataFiles.Preferences.DimensionDecimals;
            COALTextBox.ToolTip     = cm_strCOLToolTip;

            CBTOTextBox.MinValue    = 0.0;
            CBTOTextBox.MaxValue    = cDataFiles.StandardToMetric(m_Caliber.MaxCOL, cDataFiles.eDataType.Dimension);
            CBTOTextBox.NumDecimals = m_DataFiles.Preferences.DimensionDecimals;
            CBTOTextBox.ToolTip     = cm_strCBTOToolTip;

            JumpTextBox.MinValue    = 0.0;
            JumpTextBox.MaxValue    = cDataFiles.StandardToMetric(0.5, cDataFiles.eDataType.Dimension);
            JumpTextBox.NumDecimals = m_DataFiles.Preferences.DimensionDecimals;
            JumpTextBox.ToolTip     = cm_strJumpToolTip;

            //----------------------------------------------------------------------------*
            // Populate Bullet Combo
            //----------------------------------------------------------------------------*

            BulletCombo.Items.Clear();

            if (m_fAdd)
            {
                foreach (cBullet CheckBullet in DataFiles.BulletList)
                {
                    if ((!m_DataFiles.Preferences.HideUncheckedSupplies || CheckBullet.Checked) &&
                        CheckBullet.HasCaliber(m_Caliber) &&
                        m_Firearm.FirearmType == CheckBullet.FirearmType &&
                        !m_Firearm.HasBullet(CheckBullet, m_Caliber))
                    {
                        BulletCombo.Items.Add(CheckBullet);
                    }
                }
            }
            else
            {
                BulletCombo.Items.Add(m_FirearmBullet.Bullet);
            }

            if (BulletCombo.Items.Count > 0)
            {
                BulletCombo.SelectedIndex = 0;
            }

            //----------------------------------------------------------------------------*
            // Set measurement labels
            //----------------------------------------------------------------------------*

            cDataFiles.SetMetricLabel(COLMeasurementLabel, cDataFiles.eDataType.Dimension);
            cDataFiles.SetMetricLabel(CBTOMeasurementLabel, cDataFiles.eDataType.Dimension);
            cDataFiles.SetMetricLabel(JumpMeasurementLabel, cDataFiles.eDataType.Dimension);

            //----------------------------------------------------------------------------*
            // Populate FirearmCOL Data
            //----------------------------------------------------------------------------*

            FirearmLabel.Text = m_Firearm.ToString() + " - " + m_Caliber.ToString();

            string strFormat = COALTextBox.FormatString + "{1}";

            MaxCOALLabel.Text = String.Format(strFormat, cDataFiles.StandardToMetric(m_Caliber.MaxCOL, cDataFiles.eDataType.Dimension), cDataFiles.MetricString(cDataFiles.eDataType.Dimension));

            COALTextBox.Value = cDataFiles.StandardToMetric(m_FirearmBullet.COL, cDataFiles.eDataType.Dimension);

            CBTOTextBox.Value   = m_Firearm.FirearmType == cFirearm.eFireArmType.Rifle ? cDataFiles.StandardToMetric(m_FirearmBullet.CBTO, cDataFiles.eDataType.Dimension) : 0.0;
            CBTOTextBox.Enabled = m_Firearm.FirearmType == cFirearm.eFireArmType.Rifle;

            JumpTextBox.Value   = m_Firearm.FirearmType == cFirearm.eFireArmType.Rifle ? cDataFiles.StandardToMetric(m_FirearmBullet.Jump, cDataFiles.eDataType.Dimension) : 0.0;
            JumpTextBox.Enabled = m_Firearm.FirearmType == cFirearm.eFireArmType.Rifle;

            m_fInitialized = true;

            UpdateButtons();
        }