/// <summary> /// Edit and update a Limit Modifier. /// </summary> /// <param name="treLimit"></param> /// <param name="cmsLimitModifier"></param> protected void UpdateLimitModifier(TreeView treLimit, ContextMenuStrip cmsLimitModifier) { TreeNode objSelectedNode = treLimit.SelectedNode; LimitModifier objLimitModifier = CommonFunctions.FindByIdWithNameCheck(treLimit.SelectedNode.Tag.ToString(), _objCharacter.LimitModifiers); //If the LimitModifier couldn't be found (Ie it comes from an Improvement or the user hasn't properly selected a treenode, fail out early. if (objLimitModifier == null) { MessageBox.Show(LanguageManager.GetString("Warning_NoLimitFound")); return; } frmSelectLimitModifier frmPickLimitModifier = new frmSelectLimitModifier(objLimitModifier); frmPickLimitModifier.ShowDialog(this); if (frmPickLimitModifier.DialogResult == DialogResult.Cancel) { return; } //Remove the old LimitModifier to ensure we don't double up. _objCharacter.LimitModifiers.Remove(objLimitModifier); // Create the new limit modifier. TreeNode objNode = new TreeNode(); objLimitModifier = new LimitModifier(_objCharacter); string strLimit = treLimit.SelectedNode.Parent.Text; string strCondition = frmPickLimitModifier.SelectedCondition; objLimitModifier.Create(frmPickLimitModifier.SelectedName, frmPickLimitModifier.SelectedBonus, strLimit, strCondition, objNode); objLimitModifier.Guid = new Guid(objSelectedNode.Tag.ToString()); if (objLimitModifier.InternalId == Guid.Empty.ToString()) { return; } _objCharacter.LimitModifiers.Add(objLimitModifier); //Add the new treeview node for the LimitModifier. objNode.ContextMenuStrip = cmsLimitModifier; objNode.Text = objLimitModifier.DisplayName; objNode.Tag = objLimitModifier.InternalId; objSelectedNode.Parent.Nodes.Add(objNode); objSelectedNode.Remove(); }
private void treLifestyleQualities_AfterSelect(object sender, TreeViewEventArgs e) { // Locate the selected Quality. lblQualitySource.Text = ""; lblQualityLp.Text = ""; tipTooltip.SetToolTip(lblQualitySource, null); if (treLifestyleQualities.SelectedNode == null || treLifestyleQualities.SelectedNode.Level == 0) { return; } LifestyleQuality objQuality = CommonFunctions.FindByIdWithNameCheck(treLifestyleQualities.SelectedNode.Tag.ToString(), _objLifestyle.LifestyleQualities) ?? CommonFunctions.FindByIdWithNameCheck(treLifestyleQualities.SelectedNode.Tag.ToString(), _objLifestyle.FreeGrids); lblQualityLp.Text = objQuality.LP.ToString(); lblQualityCost.Text = $"{objQuality.Cost:###,###,##0¥}"; lblQualitySource.Text = $@"{objQuality.Source} {objQuality.Page}"; tipTooltip.SetToolTip(lblQualitySource, objQuality.SourceTooltip); cmdDeleteQuality.Enabled = !(objQuality.Free || objQuality.OriginSource == QualitySource.BuiltIn); }
private void treLifestyleQualities_AfterSelect(object sender, TreeViewEventArgs e) { // Locate the selected Quality. lblQualitySource.Text = string.Empty; lblQualityLp.Text = string.Empty; tipTooltip.SetToolTip(lblQualitySource, null); if (treLifestyleQualities.SelectedNode == null || treLifestyleQualities.SelectedNode.Level == 0) { return; } LifestyleQuality objQuality = CommonFunctions.FindByIdWithNameCheck(treLifestyleQualities.SelectedNode.Tag.ToString(), _objLifestyle.LifestyleQualities) ?? CommonFunctions.FindByIdWithNameCheck(treLifestyleQualities.SelectedNode.Tag.ToString(), _objLifestyle.FreeGrids); lblQualityLp.Text = objQuality.LP.ToString(); lblQualityCost.Text = objQuality.Cost.ToString(_objCharacter.Options.NuyenFormat, GlobalOptions.CultureInfo) + '¥'; lblQualitySource.Text = $@"{objQuality.Source} {objQuality.Page(GlobalOptions.Language)}"; tipTooltip.SetToolTip(lblQualitySource, objQuality.SourceTooltip); cmdDeleteQuality.Enabled = !(objQuality.Free || objQuality.OriginSource == QualitySource.BuiltIn); }