private void btnDPSCalc_AddWeapon_Click(object sender, RoutedEventArgs e) { if (!String.IsNullOrEmpty(txtDPSCalc_GunDmg.Text) && !String.IsNullOrEmpty(txtDPSCalc_MagSize.Text) && !String.IsNullOrEmpty(txtDPSCalc_Reload.Text) && !String.IsNullOrEmpty(txtDPSCalc_RPM.Text)) { DPSCalcItem newItem = new DPSCalcItem(); newItem.ModelName = ddlDPSCalc_Model.SelectedValue.ToString(); newItem.Damage = Convert.ToInt32(txtDPSCalc_GunDmg.Text); newItem.MagSize = Convert.ToInt32(txtDPSCalc_MagSize.Text); newItem.RPM = Convert.ToInt32(txtDPSCalc_RPM.Text); newItem.ReloadSpeed = Convert.ToInt32(txtDPSCalc_Reload.Text); newItem.DPM = String.Empty; newItem.DPS = String.Empty; lvDPSCalc_CompareView.Items.Add(newItem); if (lvDPSCalc_CompareView.Items.Count == 1) { btnDPSCalc_Calculate.IsEnabled = true; btnDPSCalc_Clear.IsEnabled = true; btnDPSCalc_Remove.IsEnabled = true; btnDPSCalc_Add.IsEnabled = true; lvDPSCalc_CompareView.Visibility = Visibility.Visible; btnDPSCalc_Clear.Visibility = Visibility.Visible; btnDPSCalc_Remove.Visibility = Visibility.Visible; btnDPSCalc_Calculate.Visibility = Visibility.Visible; } } else { MessageBox.Show("Please add an acceptable value(s) before adding to the compare.", "Error.", MessageBoxButton.OK); } }
private void btnDPSCalc_CalculateDamage_Click(object sender, RoutedEventArgs e) { if (!lvDPSCalc_CompareView.HasItems) { MessageBox.Show("Please add at least one item to the view before calculating", "Error", MessageBoxButton.OK); } else { List <DPSCalcItem> lstCalculatedItems = new List <DPSCalcItem>(); for (int lvIndex = 0; lvIndex < lvDPSCalc_CompareView.Items.Count; lvIndex++) { DPSCalcItem currentItem = (DPSCalcItem)lvDPSCalc_CompareView.Items[lvIndex]; currentItem.DPM = String.Format("{0:n0}", Math.Round((60.0 / (currentItem.MagSize / (currentItem.RPM / 60.0) + (currentItem.ReloadSpeed / 1000.0)) * currentItem.Damage * currentItem.MagSize))); currentItem.DPS = String.Format("{0:n0}", Math.Round((currentItem.Damage * currentItem.RPM / 60.0))); lstCalculatedItems.Add(currentItem); } lvDPSCalc_CompareView.Items.Clear(); for (int lstIndex = 0; lstIndex < lstCalculatedItems.Count; lstIndex++) { //Add the updated structs to the list //lvItems.ItemsSource = lstCalculatedItems; //We Could do this, but then it won't allow you to add through the add button lvDPSCalc_CompareView.Items.Add(lstCalculatedItems[lstIndex]); } lvDPSCalc_CompareView.Items.Refresh(); lvDPSCalc_CompareView.Items.Refresh(); } }