/// <summary> /// Refresh the information for the currently displayed Gear. /// </summary> public void RefreshSelectedGear() { bool blnClear = false; try { if (treGear.SelectedNode.Level == 0) blnClear = true; } catch { blnClear = true; } if (blnClear) { _blnSkipRefresh = true; nudGearRating.Minimum = 0; nudGearRating.Maximum = 0; nudGearRating.Enabled = false; nudGearQty.Enabled = false; chkGearEquipped.Text = LanguageManager.Instance.GetString("Checkbox_Equipped"); chkGearEquipped.Visible = false; chkActiveCommlink.Visible = false; _blnSkipRefresh = false; return; } chkGearHomeNode.Visible = false; if (treGear.SelectedNode.Level > 0) { Gear objGear = new Gear(_objCharacter); objGear = _objFunctions.FindGear(treGear.SelectedNode.Tag.ToString(), _objCharacter.Gear); lblGearName.Text = objGear.DisplayNameShort; lblGearCategory.Text = objGear.DisplayCategory; lblGearAvail.Text = objGear.TotalAvail(true); try { lblGearCost.Text = String.Format("{0:###,###,##0¥}", objGear.TotalCost); } catch { lblGearCost.Text = objGear.Cost; } lblGearCapacity.Text = objGear.CalculatedCapacity + " (" + objGear.CapacityRemaining.ToString() + " " + LanguageManager.Instance.GetString("String_Remaining") + ")"; string strBook = _objOptions.LanguageBookShort(objGear.Source); string strPage = objGear.Page; lblGearSource.Text = strBook + " " + strPage; tipTooltip.SetToolTip(lblGearSource, _objOptions.LanguageBookLong(objGear.Source) + " " + LanguageManager.Instance.GetString("String_Page") + " " + objGear.Page); if (objGear.GetType() == typeof(Commlink)) { Commlink objCommlink = (Commlink)objGear; List<string> objASDF = new List<string>() { objCommlink.Attack.ToString(), objCommlink.Sleaze.ToString(), objCommlink.DataProcessing.ToString(), objCommlink.Firewall.ToString() }; cboGearAttack.BindingContext = new BindingContext(); cboGearAttack.ValueMember = "Value"; cboGearAttack.DisplayMember = "Name"; cboGearAttack.DataSource = objASDF; cboGearAttack.SelectedIndex = 0; cboGearAttack.Visible = true; cboGearSleaze.BindingContext = new BindingContext(); cboGearSleaze.ValueMember = "Value"; cboGearSleaze.DisplayMember = "Name"; cboGearSleaze.DataSource = objASDF; cboGearSleaze.SelectedIndex = 1; cboGearDataProcessing.BindingContext = new BindingContext(); cboGearDataProcessing.ValueMember = "Value"; cboGearDataProcessing.DisplayMember = "Name"; cboGearDataProcessing.DataSource = objASDF; cboGearDataProcessing.SelectedIndex = 2; cboGearFirewall.BindingContext = new BindingContext(); cboGearFirewall.ValueMember = "Value"; cboGearFirewall.DisplayMember = "Name"; cboGearFirewall.DataSource = objASDF; cboGearFirewall.SelectedIndex = 3; lblGearDeviceRating.Text = objCommlink.TotalDeviceRating.ToString(); lblGearDeviceRating.Visible = true; cboGearAttack.Visible = true; cboGearSleaze.Visible = true; cboGearDataProcessing.Visible = true; cboGearFirewall.Visible = true; lblGearDeviceRatingLabel.Visible = true; lblGearAttackLabel.Visible = true; lblGearSleazeLabel.Visible = true; lblGearDataProcessingLabel.Visible = true; lblGearFirewallLabel.Visible = true; _blnSkipRefresh = true; chkActiveCommlink.Checked = objCommlink.IsActive; _blnSkipRefresh = false; if (objCommlink.Category != "Commlink Upgrade") chkActiveCommlink.Visible = true; if (_objCharacter.Metatype == "A.I.") { chkGearHomeNode.Visible = true; chkGearHomeNode.Checked = objCommlink.HomeNode; } } else { lblGearDeviceRating.Text = objGear.DeviceRating.ToString(); chkActiveCommlink.Visible = false; cboGearAttack.Visible = false; cboGearSleaze.Visible = false; cboGearDataProcessing.Visible = false; cboGearFirewall.Visible = false; lblGearAttackLabel.Visible = false; lblGearSleazeLabel.Visible = false; lblGearDataProcessingLabel.Visible = false; lblGearFirewallLabel.Visible = false; } if (objGear.MaxRating > 0) { _blnSkipRefresh = true; if (objGear.MinRating > 0) nudGearRating.Minimum = objGear.MinRating; else if (objGear.MinRating == 0 && objGear.Name.Contains("Credstick,")) nudGearRating.Minimum = 0; else nudGearRating.Minimum = 1; nudGearRating.Maximum = objGear.MaxRating; nudGearRating.Value = objGear.Rating; if (nudGearRating.Minimum == nudGearRating.Maximum) nudGearRating.Enabled = false; else nudGearRating.Enabled = true; _blnSkipRefresh = false; } else { _blnSkipRefresh = true; nudGearRating.Minimum = 0; nudGearRating.Maximum = 0; nudGearRating.Enabled = false; _blnSkipRefresh = false; } try { _blnSkipRefresh = true; chkGearBlackMarketDiscount.Checked = objGear.DiscountCost; //nudGearQty.Minimum = objGear.CostFor; nudGearQty.Increment = objGear.CostFor; nudGearQty.Value = objGear.Quantity; _blnSkipRefresh = false; } catch { } if (treGear.SelectedNode.Level == 1) { _blnSkipRefresh = true; nudGearQty.Enabled = true; nudGearQty.Increment = objGear.CostFor; //nudGearQty.Minimum = objGear.CostFor; chkGearEquipped.Visible = true; chkGearEquipped.Checked = objGear.Equipped; _blnSkipRefresh = false; } else { nudGearQty.Enabled = false; _blnSkipRefresh = true; chkGearEquipped.Visible = true; chkGearEquipped.Checked = objGear.Equipped; // If this is a Program, determine if its parent Gear (if any) is a Commlink. If so, show the Equipped checkbox. if (objGear.IsProgram && _objOptions.CalculateCommlinkResponse) { Gear objParent = new Gear(_objCharacter); objParent = objGear.Parent; if (objParent.Category != string.Empty) { if (objParent.Category == "Commlinks" || objParent.Category == "Cyberdecks" || objParent.Category == "Nexus") chkGearEquipped.Text = LanguageManager.Instance.GetString("Checkbox_SoftwareRunning"); } } _blnSkipRefresh = false; } // Show the Weapon Bonus information if it's available. if (objGear.WeaponBonus != null) { lblGearDamageLabel.Visible = true; lblGearDamage.Visible = true; lblGearAPLabel.Visible = true; lblGearAP.Visible = true; lblGearDamage.Text = objGear.WeaponBonusDamage(); lblGearAP.Text = objGear.WeaponBonusAP; } else { lblGearDamageLabel.Visible = false; lblGearDamage.Visible = false; lblGearAPLabel.Visible = false; lblGearAP.Visible = false; } treGear.SelectedNode.Text = objGear.DisplayName; } }
/// <summary> /// Refresh the information for the currently displayed Gear. /// </summary> public void RefreshSelectedGear() { bool blnClear = false; try { if (treGear.SelectedNode.Level == 0) blnClear = true; } catch { blnClear = true; } if (blnClear) { lblGearRating.Text = ""; lblGearQty.Text = ""; cmdGearIncreaseQty.Enabled = false; cmdGearReduceQty.Enabled = false; chkGearEquipped.Text = LanguageManager.Instance.GetString("Checkbox_Equipped"); chkGearEquipped.Visible = false; chkActiveCommlink.Visible = false; cmdGearSplitQty.Enabled = false; cmdGearMergeQty.Enabled = false; cmdGearMoveToVehicle.Enabled = false; return; } cmdGearIncreaseQty.Enabled = false; chkGearHomeNode.Visible = false; if (treGear.SelectedNode.Level > 0) { Gear objGear = new Gear(_objCharacter); objGear = _objFunctions.FindGear(treGear.SelectedNode.Tag.ToString(), _objCharacter.Gear); lblGearName.Text = objGear.DisplayNameShort; lblGearCategory.Text = objGear.DisplayCategory; lblGearAvail.Text = objGear.TotalAvail(true); try { lblGearCost.Text = String.Format("{0:###,###,##0¥}", objGear.TotalCost); } catch { lblGearCost.Text = objGear.Cost; } lblGearCapacity.Text = objGear.CalculatedCapacity + " (" + objGear.CapacityRemaining.ToString() + " " + LanguageManager.Instance.GetString("String_Remaining") + ")"; string strBook = _objOptions.LanguageBookShort(objGear.Source); string strPage = objGear.Page; lblGearSource.Text = strBook + " " + strPage; tipTooltip.SetToolTip(lblGearSource, _objOptions.LanguageBookLong(objGear.Source) + " " + LanguageManager.Instance.GetString("String_Page") + " " + objGear.Page); if (objGear.Category == "Ammunition") cmdGearIncreaseQty.Enabled = true; if (objGear.GetType() == typeof(Commlink)) { Commlink objCommlink = (Commlink)objGear; lblGearDeviceRating.Text = objCommlink.TotalDeviceRating.ToString(); lblGearAttack.Text = objCommlink.Attack.ToString(); lblGearSleaze.Text = objCommlink.Sleaze.ToString(); lblGearDataProcessing.Text = objCommlink.DataProcessing.ToString(); lblGearFirewall.Text = objCommlink.Firewall.ToString(); _blnSkipRefresh = true; chkActiveCommlink.Checked = objCommlink.IsActive; _blnSkipRefresh = false; lblGearDeviceRating.Visible = true; lblGearAttack.Visible = true; lblGearSleaze.Visible = true; lblGearDataProcessing.Visible = true; lblGearFirewall.Visible = true; lblGearDeviceRatingLabel.Visible = true; lblGearAttackLabel.Visible = true; lblGearSleazeLabel.Visible = true; lblGearDataProcessingLabel.Visible = true; lblGearFirewallLabel.Visible = true; if (objCommlink.Category != "Commlink Upgrade") chkActiveCommlink.Visible = true; } else { lblGearDeviceRating.Text = objGear.DeviceRating.ToString(); chkActiveCommlink.Visible = false; lblGearAttack.Visible = false; lblGearSleaze.Visible = false; lblGearDataProcessing.Visible = false; lblGearFirewall.Visible = false; lblGearAttackLabel.Visible = false; lblGearSleazeLabel.Visible = false; lblGearDataProcessingLabel.Visible = false; lblGearFirewallLabel.Visible = false; } if (objGear.MaxRating > 0) lblGearRating.Text = objGear.Rating.ToString(); else lblGearRating.Text = ""; try { lblGearQty.Text = objGear.Quantity.ToString(); } catch { } if (treGear.SelectedNode.Level == 1) { _blnSkipRefresh = true; lblGearQty.Text = objGear.Quantity.ToString(); chkGearEquipped.Visible = true; chkGearEquipped.Checked = objGear.Equipped; _blnSkipRefresh = false; } else { lblGearQty.Text = "1"; chkGearEquipped.Visible = true; chkGearEquipped.Checked = objGear.Equipped; // If this is a Program, determine if its parent Gear (if any) is a Commlink. If so, show the Equipped checkbox. if (objGear.IsProgram && _objOptions.CalculateCommlinkResponse) { Gear objParent = new Gear(_objCharacter); objParent = objGear.Parent; if (objParent.Category != string.Empty) { if (objParent.Category == "Commlink" || objParent.Category == "Nexus") chkGearEquipped.Text = LanguageManager.Instance.GetString("Checkbox_SoftwareRunning"); } } } // Show the Weapon Bonus information if it's available. if (objGear.WeaponBonus != null) { lblGearDamageLabel.Visible = true; lblGearDamage.Visible = true; lblGearAPLabel.Visible = true; lblGearAP.Visible = true; lblGearDamage.Text = objGear.WeaponBonusDamage(); lblGearAP.Text = objGear.WeaponBonusAP; } else { lblGearDamageLabel.Visible = false; lblGearDamage.Visible = false; lblGearAPLabel.Visible = false; lblGearAP.Visible = false; } cmdGearReduceQty.Enabled = true; if ((_objCharacter.Metatype.EndsWith("A.I.") || _objCharacter.MetatypeCategory == "Technocritters" || _objCharacter.MetatypeCategory == "Protosapients") && (objGear.GetType() == typeof(Commlink) || objGear.Category == "Nexus")) { chkGearHomeNode.Visible = true; chkGearHomeNode.Checked = objGear.HomeNode; } treGear.SelectedNode.Text = objGear.DisplayName; } // Enable or disable the Split/Merge buttons as needed. if (treGear.SelectedNode.Level == 1) { cmdGearSplitQty.Enabled = true; cmdGearMergeQty.Enabled = true; if (_objCharacter.Vehicles.Count > 0) cmdGearMoveToVehicle.Enabled = true; else cmdGearMoveToVehicle.Enabled = false; } else { cmdGearSplitQty.Enabled = false; cmdGearMergeQty.Enabled = false; cmdGearMoveToVehicle.Enabled = false; } }
private void chkActiveCommlink_CheckedChanged(object sender, EventArgs e) { if (_blnSkipRefresh) return; Gear objSelectedGear = new Gear(_objCharacter); // Attempt to locate the selected piece of Gear. try { objSelectedGear = _objFunctions.FindGear(treGear.SelectedNode.Tag.ToString(), _objCharacter.Gear); if (objSelectedGear.GetType() != typeof(Commlink)) return; Commlink objCommlink = (Commlink)objSelectedGear; objCommlink.IsActive = chkActiveCommlink.Checked; ChangeActiveCommlink(objCommlink); RefreshSelectedGear(); UpdateCharacterInfo(); _blnIsDirty = true; UpdateWindowTitle(); } catch { } }
/// <summary> /// Refresh the information for the currently displayed Gear. /// </summary> public void RefreshSelectedGear() { bool blnClear = false; try { if (treGear.SelectedNode.Level == 0) blnClear = true; } catch { blnClear = true; } if (blnClear) { _blnSkipRefresh = true; nudGearRating.Minimum = 0; nudGearRating.Maximum = 0; nudGearRating.Enabled = false; nudGearQty.Enabled = false; chkGearEquipped.Text = LanguageManager.Instance.GetString("Checkbox_Equipped"); chkGearEquipped.Visible = false; chkActiveCommlink.Visible = false; _blnSkipRefresh = false; return; } chkGearHomeNode.Visible = false; if (treGear.SelectedNode.Level > 0) { Gear objGear = new Gear(_objCharacter); objGear = _objFunctions.FindGear(treGear.SelectedNode.Tag.ToString(), _objCharacter.Gear); lblGearName.Text = objGear.DisplayNameShort; lblGearCategory.Text = objGear.DisplayCategory; lblGearAvail.Text = objGear.TotalAvail(true); try { lblGearCost.Text = String.Format("{0:###,###,##0¥}", objGear.TotalCost); } catch { lblGearCost.Text = objGear.Cost; } lblGearCapacity.Text = objGear.CalculatedCapacity + " (" + objGear.CapacityRemaining.ToString() + " " + LanguageManager.Instance.GetString("String_Remaining") + ")"; string strBook = _objOptions.LanguageBookShort(objGear.Source); string strPage = objGear.Page; lblGearSource.Text = strBook + " " + strPage; tipTooltip.SetToolTip(lblGearSource, _objOptions.LanguageBookLong(objGear.Source) + " " + LanguageManager.Instance.GetString("String_Page") + " " + objGear.Page); if (objGear.GetType() == typeof(Commlink)) { Commlink objCommlink = (Commlink)objGear; lblGearResponse.Text = objCommlink.TotalResponse.ToString(); lblGearSignal.Text = objCommlink.TotalSignal.ToString(); if (objCommlink.Category != "Commlink Upgrade") { lblGearSystem.Text = objCommlink.TotalSystem.ToString(); lblGearFirewall.Text = objCommlink.TotalFirewall.ToString(); } else { lblGearSystem.Text = ""; lblGearFirewall.Text = ""; } _blnSkipRefresh = true; chkActiveCommlink.Checked = objCommlink.IsActive; _blnSkipRefresh = false; if (objCommlink.Category != "Commlink Upgrade") chkActiveCommlink.Visible = true; } else if (objGear.GetType() == typeof(OperatingSystem)) { OperatingSystem objOS = (OperatingSystem)objGear; lblGearResponse.Text = ""; lblGearSignal.Text = ""; lblGearSystem.Text = objOS.System.ToString(); lblGearFirewall.Text = objOS.Firewall.ToString(); chkActiveCommlink.Visible = false; } else { lblGearResponse.Text = objGear.Response.ToString(); lblGearSignal.Text = objGear.Signal.ToString(); lblGearSystem.Text = objGear.System.ToString(); lblGearFirewall.Text = objGear.Firewall.ToString(); chkActiveCommlink.Visible = false; } if (objGear.MaxRating > 0) { _blnSkipRefresh = true; if (objGear.MinRating > 0) nudGearRating.Minimum = objGear.MinRating; else if (objGear.MinRating == 0 && objGear.Name.Contains("Credstick,")) nudGearRating.Minimum = 0; else nudGearRating.Minimum = 1; nudGearRating.Maximum = objGear.MaxRating; nudGearRating.Value = objGear.Rating; if (nudGearRating.Minimum == nudGearRating.Maximum) nudGearRating.Enabled = false; else nudGearRating.Enabled = true; _blnSkipRefresh = false; } else { _blnSkipRefresh = true; nudGearRating.Minimum = 0; nudGearRating.Maximum = 0; nudGearRating.Enabled = false; _blnSkipRefresh = false; } try { _blnSkipRefresh = true; chkGearBlackMarketDiscount.Checked = objGear.DiscountCost; //nudGearQty.Minimum = objGear.CostFor; nudGearQty.Increment = objGear.CostFor; nudGearQty.Value = objGear.Quantity; _blnSkipRefresh = false; } catch { } if (treGear.SelectedNode.Level == 1) { _blnSkipRefresh = true; nudGearQty.Enabled = true; nudGearQty.Increment = objGear.CostFor; //nudGearQty.Minimum = objGear.CostFor; chkGearEquipped.Visible = true; chkGearEquipped.Checked = objGear.Equipped; _blnSkipRefresh = false; } else { nudGearQty.Enabled = false; _blnSkipRefresh = true; chkGearEquipped.Visible = true; chkGearEquipped.Checked = objGear.Equipped; // If this is a Program, determine if its parent Gear (if any) is a Commlink. If so, show the Equipped checkbox. if (objGear.IsProgram && _objOptions.CalculateCommlinkResponse) { Gear objParent = new Gear(_objCharacter); objParent = objGear.Parent; if (objParent.Category != string.Empty) { if (objParent.Category == "Commlink" || objParent.Category == "Nexus") chkGearEquipped.Text = LanguageManager.Instance.GetString("Checkbox_SoftwareRunning"); } } _blnSkipRefresh = false; } // Show the Weapon Bonus information if it's available. if (objGear.WeaponBonus != null) { lblGearDamageLabel.Visible = true; lblGearDamage.Visible = true; lblGearAPLabel.Visible = true; lblGearAP.Visible = true; lblGearDamage.Text = objGear.WeaponBonusDamage(); lblGearAP.Text = objGear.WeaponBonusAP; } else { lblGearDamageLabel.Visible = false; lblGearDamage.Visible = false; lblGearAPLabel.Visible = false; lblGearAP.Visible = false; } if ((_objCharacter.Metatype.EndsWith("A.I.") || _objCharacter.MetatypeCategory == "Technocritters" || _objCharacter.MetatypeCategory == "Protosapients") && objGear.GetType() == typeof(Commlink)) { chkGearHomeNode.Visible = true; chkGearHomeNode.Checked = objGear.HomeNode; } treGear.SelectedNode.Text = objGear.DisplayName; } }
private void chkGearCM_CheckedChanged(object sender, EventArgs e) { if (_blnSkipRefresh) return; // Locate the selected Gear. TreeNode objGearNode = new TreeNode(); objGearNode = treGear.SelectedNode; if (treGear.SelectedNode.Level > 1) { while (objGearNode.Level > 1) objGearNode = objGearNode.Parent; } Gear objGear = new Gear(_objCharacter); foreach (Gear objCharacterGear in _objCharacter.Gear) { if (objCharacterGear.InternalId == objGearNode.Tag.ToString()) { objGear = objCharacterGear; break; } } int intFillCount = 0; CheckBox objCheck = (CheckBox)sender; { if (objCheck.Checked) { // If this is being checked, make sure everything before it is checked off. _blnSkipRefresh = true; foreach (CheckBox objGearCM in tabMatrixCM.Controls.OfType<CheckBox>()) { if (Convert.ToInt32(objGearCM.Tag.ToString()) < Convert.ToInt32(objCheck.Tag.ToString())) objGearCM.Checked = true; if (objGearCM.Checked) intFillCount += 1; } _blnSkipRefresh = false; } else { // If this is being unchecked, make sure everything after it is unchecked. _blnSkipRefresh = true; foreach (CheckBox objGearCM in tabMatrixCM.Controls.OfType<CheckBox>()) { if (Convert.ToInt32(objGearCM.Tag.ToString()) > Convert.ToInt32(objCheck.Tag.ToString())) objGearCM.Checked = false; if (objGearCM.Checked) intFillCount += 1; } _blnSkipRefresh = false; } if (objGear.GetType() == typeof(Commlink)) { Commlink objCommlink = (Commlink)objGear; objCommlink.MatrixCMFilled = intFillCount; } else { objGear.MatrixCMFilled = intFillCount; } UpdateCharacterInfo(); _blnIsDirty = true; UpdateWindowTitle(); } }
/// <summary> /// Refresh the information for the currently displayed Gear. /// </summary> public void RefreshSelectedGear() { bool blnClear = false; try { if (treGear.SelectedNode.Level == 0) blnClear = true; } catch { blnClear = true; } if (blnClear) { lblGearRating.Text = ""; lblGearQty.Text = ""; cmdGearIncreaseQty.Enabled = false; cmdGearReduceQty.Enabled = false; chkGearEquipped.Text = LanguageManager.Instance.GetString("Checkbox_Equipped"); chkGearEquipped.Visible = false; chkActiveCommlink.Visible = false; cmdGearSplitQty.Enabled = false; cmdGearMergeQty.Enabled = false; cmdGearMoveToVehicle.Enabled = false; tabGearMatrixCM.Visible = false; return; } cmdGearIncreaseQty.Enabled = false; chkGearHomeNode.Visible = false; if (treGear.SelectedNode.Level > 0) { Gear objGear = new Gear(_objCharacter); objGear = _objFunctions.FindGear(treGear.SelectedNode.Tag.ToString(), _objCharacter.Gear); lblGearName.Text = objGear.DisplayNameShort; lblGearCategory.Text = objGear.DisplayCategory; lblGearAvail.Text = objGear.TotalAvail(true); try { lblGearCost.Text = String.Format("{0:###,###,##0¥}", objGear.TotalCost); } catch { lblGearCost.Text = objGear.Cost; } lblGearCapacity.Text = objGear.CalculatedCapacity + " (" + objGear.CapacityRemaining.ToString() + " " + LanguageManager.Instance.GetString("String_Remaining") + ")"; string strBook = _objOptions.LanguageBookShort(objGear.Source); string strPage = objGear.Page; lblGearSource.Text = strBook + " " + strPage; tipTooltip.SetToolTip(lblGearSource, _objOptions.LanguageBookLong(objGear.Source) + " " + LanguageManager.Instance.GetString("String_Page") + " " + objGear.Page); _blnSkipRefresh = true; if (objGear.DeviceRating > 0) { tabGearMatrixCM.Visible = true; foreach (CheckBox objMatrixCM in tabMatrixCM.Controls.OfType<CheckBox>()) { if (Convert.ToInt32(objMatrixCM.Tag.ToString()) <= objGear.MatrixCM) { if (Convert.ToInt32(objMatrixCM.Tag.ToString()) <= objGear.MatrixCMFilled) objMatrixCM.Checked = true; else objMatrixCM.Checked = false; objMatrixCM.Visible = true; } else { objMatrixCM.Checked = false; objMatrixCM.Visible = false; objMatrixCM.Text = ""; } } } else { tabGearMatrixCM.Visible = false; } _blnSkipRefresh = false; if (objGear.Category == "Ammunition") cmdGearIncreaseQty.Enabled = true; if (objGear.GetType() == typeof(Commlink)) { Commlink objCommlink = (Commlink)objGear; lblGearDeviceRating.Text = objCommlink.TotalDeviceRating.ToString(); _blnSkipRefresh = true; chkActiveCommlink.Checked = objCommlink.IsActive; _blnSkipRefresh = false; cboGearOverclocker.Visible = _objCharacter.Overclocker; lblGearOverclocker.Visible = _objCharacter.Overclocker; ArrayList lstOverclocker = new ArrayList(); ListItem objAttribute = new ListItem(); objAttribute.Value = "None"; objAttribute.Name = LanguageManager.Instance.GetString("String_None"); lstOverclocker.Add(objAttribute); if (_objCharacter.Overclocker) { objAttribute = new ListItem(); objAttribute.Value = "Attack"; objAttribute.Name = LanguageManager.Instance.GetString("String_Attack"); lstOverclocker.Add(objAttribute); objAttribute = new ListItem(); objAttribute.Value = "Sleaze"; objAttribute.Name = LanguageManager.Instance.GetString("String_Sleaze"); lstOverclocker.Add(objAttribute); objAttribute = new ListItem(); objAttribute.Value = "DataProc"; objAttribute.Name = LanguageManager.Instance.GetString("String_DataProcessing"); lstOverclocker.Add(objAttribute); objAttribute = new ListItem(); objAttribute.Value = "Firewall"; objAttribute.Name = LanguageManager.Instance.GetString("String_Firewall"); } lstOverclocker.Add(objAttribute); cboGearOverclocker.BindingContext = new BindingContext(); cboGearOverclocker.DisplayMember = "Name"; cboGearOverclocker.ValueMember = "Value"; cboGearOverclocker.DataSource = lstOverclocker; cboGearOverclocker.SelectedIndex = 0; List<string> lstASDF = new List<string>() { objCommlink.Attack.ToString(), objCommlink.Sleaze.ToString(), objCommlink.DataProcessing.ToString(), objCommlink.Firewall.ToString() }; cboGearAttack.BindingContext = new BindingContext(); cboGearAttack.ValueMember = "Value"; cboGearAttack.DisplayMember = "Name"; cboGearAttack.DataSource = lstASDF; cboGearAttack.SelectedIndex = 0; cboGearAttack.Visible = true; cboGearSleaze.BindingContext = new BindingContext(); cboGearSleaze.ValueMember = "Value"; cboGearSleaze.DisplayMember = "Name"; cboGearSleaze.DataSource = lstASDF; cboGearSleaze.SelectedIndex = 1; cboGearDataProcessing.BindingContext = new BindingContext(); cboGearDataProcessing.ValueMember = "Value"; cboGearDataProcessing.DisplayMember = "Name"; cboGearDataProcessing.DataSource = lstASDF; cboGearDataProcessing.SelectedIndex = 2; cboGearFirewall.BindingContext = new BindingContext(); cboGearFirewall.ValueMember = "Value"; cboGearFirewall.DisplayMember = "Name"; cboGearFirewall.DataSource = lstASDF; cboGearFirewall.SelectedIndex = 3; lblGearDeviceRating.Text = objCommlink.TotalDeviceRating.ToString(); cboCyberwareGearOverclocker.Visible = _objCharacter.Overclocker; lblCyberwareGearOverclocker.Visible = _objCharacter.Overclocker; cboGearAttack.Visible = true; cboGearSleaze.Visible = true; cboGearDataProcessing.Visible = true; cboGearFirewall.Visible = true; lblGearDeviceRating.Visible = true; lblGearDeviceRatingLabel.Visible = true; lblGearAttackLabel.Visible = true; lblGearSleazeLabel.Visible = true; lblGearDataProcessingLabel.Visible = true; lblGearFirewallLabel.Visible = true; if (objCommlink.Category != "Commlink Upgrade") chkActiveCommlink.Visible = true; if (_objCharacter.Metatype == "A.I.") { chkGearHomeNode.Visible = true; chkGearHomeNode.Checked = objCommlink.HomeNode; } } else { cboCyberwareGearOverclocker.Visible = _objCharacter.Overclocker; lblCyberwareGearOverclocker.Visible = _objCharacter.Overclocker; lblGearDeviceRating.Text = objGear.DeviceRating.ToString(); chkActiveCommlink.Visible = false; cboGearAttack.Visible = false; cboGearSleaze.Visible = false; cboGearDataProcessing.Visible = false; cboGearFirewall.Visible = false; lblGearAttackLabel.Visible = false; lblGearSleazeLabel.Visible = false; lblGearDataProcessingLabel.Visible = false; lblGearFirewallLabel.Visible = false; } if (objGear.MaxRating > 0) lblGearRating.Text = objGear.Rating.ToString(); else lblGearRating.Text = ""; try { lblGearQty.Text = objGear.Quantity.ToString(); } catch { } if (treGear.SelectedNode.Level == 1) { _blnSkipRefresh = true; lblGearQty.Text = objGear.Quantity.ToString(); chkGearEquipped.Visible = true; chkGearEquipped.Checked = objGear.Equipped; _blnSkipRefresh = false; } else { lblGearQty.Text = "1"; chkGearEquipped.Visible = true; chkGearEquipped.Checked = objGear.Equipped; // If this is a Program, determine if its parent Gear (if any) is a Commlink. If so, show the Equipped checkbox. if (objGear.IsProgram && _objOptions.CalculateCommlinkResponse) { Gear objParent = new Gear(_objCharacter); objParent = objGear.Parent; if (objParent.Category != string.Empty) { if (objParent.Category == "Commlink" || objParent.Category == "Nexus") chkGearEquipped.Text = LanguageManager.Instance.GetString("Checkbox_SoftwareRunning"); } } } // Show the Weapon Bonus information if it's available. if (objGear.WeaponBonus != null) { lblGearDamageLabel.Visible = true; lblGearDamage.Visible = true; lblGearAPLabel.Visible = true; lblGearAP.Visible = true; lblGearDamage.Text = objGear.WeaponBonusDamage(); lblGearAP.Text = objGear.WeaponBonusAP; } else { lblGearDamageLabel.Visible = false; lblGearDamage.Visible = false; lblGearAPLabel.Visible = false; lblGearAP.Visible = false; } cmdGearReduceQty.Enabled = true; treGear.SelectedNode.Text = objGear.DisplayName; } // Enable or disable the Split/Merge buttons as needed. if (treGear.SelectedNode.Level == 1) { cmdGearSplitQty.Enabled = true; cmdGearMergeQty.Enabled = true; if (_objCharacter.Vehicles.Count > 0) cmdGearMoveToVehicle.Enabled = true; else cmdGearMoveToVehicle.Enabled = false; } else { cmdGearSplitQty.Enabled = false; cmdGearMergeQty.Enabled = false; cmdGearMoveToVehicle.Enabled = false; } }
/// <summary> /// Update the Gear's information based on the Gear selected and current Rating. /// </summary> private void UpdateGearInfo() { if (lstGear.Text != "") { // Retireve the information for the selected piece of Cyberware. XmlNode objXmlGear; int intItemCost = 0; string strCategory = ""; objXmlGear = _objXmlDocument.SelectSingleNode("/chummer/gears/gear[id = \"" + lstGear.SelectedValue + "\"]"); strCategory = cboCategory.SelectedValue.ToString(); TreeNode objTreeNode = new TreeNode(); List<Weapon> lstWeapons = new List<Weapon>(); List<TreeNode> lstTreeNodes = new List<TreeNode>(); Gear objGear = new Gear(_objCharacter); Commlink objCommlink = new Commlink(_objCharacter); OperatingSystem objOperatingSystem = new OperatingSystem(_objCharacter); if (objXmlGear["category"].InnerText == "Commlink" || objXmlGear["category"].InnerText == "Commlink Upgrade") { objCommlink.Create(objXmlGear, _objCharacter, objTreeNode, Convert.ToInt32(nudRating.Value), false, true); objGear = (Gear)objCommlink; } else if (objXmlGear["category"].InnerText == "Operating System" || objXmlGear["category"].InnerText == "Operating System Upgrade") { objOperatingSystem.Create(objXmlGear, _objCharacter, objTreeNode, Convert.ToInt32(nudRating.Value), false, true); objGear = (Gear)objCommlink; } else objGear.Create(objXmlGear, _objCharacter, objTreeNode, Convert.ToInt32(nudRating.Value), lstWeapons, lstTreeNodes, "", chkHacked.Checked, false, false, true, chkAerodynamic.Checked); if (_objCharacter.Metatype == "A.I." || _objCharacter.MetatypeCategory == "Technocritters" || _objCharacter.MetatypeCategory == "Protosapients") { if ((strCategory == "Matrix Programs" || strCategory == "Skillsofts" || strCategory == "Autosofts" || strCategory == "Autosofts, Agent" || strCategory == "Autosofts, Drone") && _objCharacter.Options.BookEnabled("UN") && !lstGear.SelectedValue.ToString().StartsWith("Suite:")) chkInherentProgram.Visible = true; else chkInherentProgram.Visible = false; chkInherentProgram.Enabled = !chkHacked.Checked; if (!chkInherentProgram.Enabled) chkInherentProgram.Checked = false; } else chkInherentProgram.Visible = false; if (objGear.GetType() == typeof(Commlink)) { lblGearResponse.Text = objCommlink.TotalResponse.ToString(); lblGearSignal.Text = objCommlink.TotalSignal.ToString(); lblGearSystem.Text = ""; lblGearFirewall.Text = ""; } else if (objGear.GetType() == typeof(OperatingSystem)) { lblGearResponse.Text = ""; lblGearSignal.Text = ""; lblGearSystem.Text = objOperatingSystem.System.ToString(); lblGearFirewall.Text = objOperatingSystem.Firewall.ToString(); } else { lblGearResponse.Text = ""; lblGearSignal.Text = ""; lblGearSystem.Text = ""; lblGearFirewall.Text = ""; } if (objXmlGear["category"].InnerText.EndsWith("Software") || objXmlGear["category"].InnerText.EndsWith("Programs") || objXmlGear["category"].InnerText == "Program Options" || objXmlGear["category"].InnerText.StartsWith("Autosofts") || objXmlGear["category"].InnerText.StartsWith("Skillsoft") || objXmlGear["category"].InnerText == "Program Packages" || objXmlGear["category"].InnerText == "Software Suites") chkHacked.Visible = true; else chkHacked.Visible = false; string strBook = _objCharacter.Options.LanguageBookShort(objGear.Source); string strPage = objGear.Page; lblSource.Text = strBook + " " + strPage; // Avail. lblAvail.Text = objGear.TotalAvail(); double dblMultiplier = Convert.ToDouble(nudGearQty.Value / nudGearQty.Increment, GlobalOptions.Instance.CultureInfo); if (chkDoItYourself.Checked) dblMultiplier *= 0.5; // Cost. if (objGear.Cost.StartsWith("Variable")) { int intMin = 0; int intMax = 0; string strCost = objGear.Cost.Replace("Variable(", string.Empty).Replace(")", string.Empty); if (strCost.Contains("-")) { string[] strValues = strCost.Split('-'); intMin = Convert.ToInt32(strValues[0]); intMax = Convert.ToInt32(strValues[1]); } else intMin = Convert.ToInt32(strCost.Replace("+", string.Empty)); if (intMax == 0) { intMax = 1000000; lblCost.Text = String.Format("{0:###,###,##0¥+}", intMin); } else lblCost.Text = String.Format("{0:###,###,##0}", intMin) + "-" + String.Format("{0:###,###,##0¥}", intMax); intItemCost = intMin; } else { double dblCost = Convert.ToDouble(objGear.TotalCost, GlobalOptions.Instance.CultureInfo); dblCost *= dblMultiplier; dblCost *= 1 + (Convert.ToDouble(nudMarkup.Value, GlobalOptions.Instance.CultureInfo) / 100.0); if (chkHacked.Checked) dblCost *= 0.1; intItemCost = Convert.ToInt32(dblCost); lblCost.Text = String.Format("{0:###,###,##0¥}", intItemCost); } if (chkFreeItem.Checked) { lblCost.Text = String.Format("{0:###,###,##0¥}", 0); intItemCost = 0; } // Update the Avail Test Label. lblTest.Text = _objCharacter.AvailTest(intItemCost * _intCostMultiplier, lblAvail.Text); // Capacity. lblCapacity.Text = objGear.CalculatedCapacity; // Rating. if (Convert.ToInt32(objXmlGear["rating"].InnerText) > 0) { nudRating.Maximum = Convert.ToInt32(objXmlGear["rating"].InnerText); try { nudRating.Minimum = Convert.ToInt32(objXmlGear["minrating"].InnerText); } catch { nudRating.Minimum = 1; } if (nudRating.Minimum == nudRating.Maximum) nudRating.Enabled = false; else nudRating.Enabled = true; } else { nudRating.Minimum = 0; nudRating.Maximum = 0; nudRating.Enabled = false; } tipTooltip.SetToolTip(lblSource, _objCharacter.Options.LanguageBookLong(objGear.Source) + " " + LanguageManager.Instance.GetString("String_Page") + " " + strPage); } }
/// <summary> /// Update the Gear's information based on the Gear selected and current Rating. /// </summary> private void UpdateGearInfo() { if (lstGear.Text != "") { // Retireve the information for the selected piece of Cyberware. XmlNode objXmlGear; int intItemCost = 0; string strCategory = ""; objXmlGear = _objXmlDocument.SelectSingleNode("/chummer/gears/gear[id = \"" + lstGear.SelectedValue + "\"]"); strCategory = cboCategory.SelectedValue.ToString(); TreeNode objTreeNode = new TreeNode(); List <Weapon> lstWeapons = new List <Weapon>(); List <TreeNode> lstTreeNodes = new List <TreeNode>(); Gear objGear = new Gear(_objCharacter); Commlink objCommlink = new Commlink(_objCharacter); OperatingSystem objOperatingSystem = new OperatingSystem(_objCharacter); if (objXmlGear["category"].InnerText == "Commlink" || objXmlGear["category"].InnerText == "Commlink Upgrade") { objCommlink.Create(objXmlGear, _objCharacter, objTreeNode, Convert.ToInt32(nudRating.Value), false, true); objGear = (Gear)objCommlink; } else if (objXmlGear["category"].InnerText == "Operating System" || objXmlGear["category"].InnerText == "Operating System Upgrade") { objOperatingSystem.Create(objXmlGear, _objCharacter, objTreeNode, Convert.ToInt32(nudRating.Value), false, true); objGear = (Gear)objCommlink; } else { objGear.Create(objXmlGear, _objCharacter, objTreeNode, Convert.ToInt32(nudRating.Value), lstWeapons, lstTreeNodes, "", chkHacked.Checked, false, false, true, chkAerodynamic.Checked); } if (_objCharacter.Metatype == "A.I." || _objCharacter.MetatypeCategory == "Technocritters" || _objCharacter.MetatypeCategory == "Protosapients") { if ((strCategory == "Matrix Programs" || strCategory == "Skillsofts" || strCategory == "Autosofts" || strCategory == "Autosofts, Agent" || strCategory == "Autosofts, Drone") && _objCharacter.Options.BookEnabled("UN") && !lstGear.SelectedValue.ToString().StartsWith("Suite:")) { chkInherentProgram.Visible = true; } else { chkInherentProgram.Visible = false; } chkInherentProgram.Enabled = !chkHacked.Checked; if (!chkInherentProgram.Enabled) { chkInherentProgram.Checked = false; } } else { chkInherentProgram.Visible = false; } if (objGear.GetType() == typeof(Commlink)) { lblGearResponse.Text = objCommlink.TotalResponse.ToString(); lblGearSignal.Text = objCommlink.TotalSignal.ToString(); lblGearSystem.Text = ""; lblGearFirewall.Text = ""; } else if (objGear.GetType() == typeof(OperatingSystem)) { lblGearResponse.Text = ""; lblGearSignal.Text = ""; lblGearSystem.Text = objOperatingSystem.System.ToString(); lblGearFirewall.Text = objOperatingSystem.Firewall.ToString(); } else { lblGearResponse.Text = ""; lblGearSignal.Text = ""; lblGearSystem.Text = ""; lblGearFirewall.Text = ""; } if (objXmlGear["category"].InnerText.EndsWith("Software") || objXmlGear["category"].InnerText.EndsWith("Programs") || objXmlGear["category"].InnerText == "Program Options" || objXmlGear["category"].InnerText.StartsWith("Autosofts") || objXmlGear["category"].InnerText.StartsWith("Skillsoft") || objXmlGear["category"].InnerText == "Program Packages" || objXmlGear["category"].InnerText == "Software Suites") { chkHacked.Visible = true; } else { chkHacked.Visible = false; } string strBook = _objCharacter.Options.LanguageBookShort(objGear.Source); string strPage = objGear.Page; lblSource.Text = strBook + " " + strPage; // Avail. lblAvail.Text = objGear.TotalAvail(); double dblMultiplier = Convert.ToDouble(nudGearQty.Value / nudGearQty.Increment, GlobalOptions.Instance.CultureInfo); if (chkDoItYourself.Checked) { dblMultiplier *= 0.5; } // Cost. if (objGear.Cost.StartsWith("Variable")) { int intMin = 0; int intMax = 0; string strCost = objGear.Cost.Replace("Variable(", string.Empty).Replace(")", string.Empty); if (strCost.Contains("-")) { string[] strValues = strCost.Split('-'); intMin = Convert.ToInt32(strValues[0]); intMax = Convert.ToInt32(strValues[1]); } else { intMin = Convert.ToInt32(strCost.Replace("+", string.Empty)); } if (intMax == 0) { intMax = 1000000; lblCost.Text = String.Format("{0:###,###,##0¥+}", intMin); } else { lblCost.Text = String.Format("{0:###,###,##0}", intMin) + "-" + String.Format("{0:###,###,##0¥}", intMax); } intItemCost = intMin; } else { double dblCost = Convert.ToDouble(objGear.TotalCost, GlobalOptions.Instance.CultureInfo); dblCost *= dblMultiplier; dblCost *= 1 + (Convert.ToDouble(nudMarkup.Value, GlobalOptions.Instance.CultureInfo) / 100.0); if (chkHacked.Checked) { dblCost *= 0.1; } intItemCost = Convert.ToInt32(dblCost); lblCost.Text = String.Format("{0:###,###,##0¥}", intItemCost); } if (chkFreeItem.Checked) { lblCost.Text = String.Format("{0:###,###,##0¥}", 0); intItemCost = 0; } // Update the Avail Test Label. lblTest.Text = _objCharacter.AvailTest(intItemCost * _intCostMultiplier, lblAvail.Text); // Capacity. lblCapacity.Text = objGear.CalculatedCapacity; // Rating. if (Convert.ToInt32(objXmlGear["rating"].InnerText) > 0) { nudRating.Maximum = Convert.ToInt32(objXmlGear["rating"].InnerText); try { nudRating.Minimum = Convert.ToInt32(objXmlGear["minrating"].InnerText); } catch { nudRating.Minimum = 1; } if (nudRating.Minimum == nudRating.Maximum) { nudRating.Enabled = false; } else { nudRating.Enabled = true; } } else { nudRating.Minimum = 0; nudRating.Maximum = 0; nudRating.Enabled = false; } tipTooltip.SetToolTip(lblSource, _objCharacter.Options.LanguageBookLong(objGear.Source) + " " + LanguageManager.Instance.GetString("String_Page") + " " + strPage); } }