Ejemplo n.º 1
0
        private void treLifestyles_DoubleClick(object sender, EventArgs e)
        {
            try
            {
                if (treLifestyles.SelectedNode.Level == 0)
                    return;
            }
            catch
            {
                return;
            }

            // Locate the selected Lifestyle.
            Lifestyle objLifestyle = new Lifestyle(_objCharacter);
            string strGuid = "";
            int intMonths = 0;
            int intPosition = -1;
            foreach (Lifestyle objCharacterLifestyle in _objCharacter.Lifestyles)
            {
                intPosition++;
                if (objCharacterLifestyle.InternalId == treLifestyles.SelectedNode.Tag.ToString())
                {
                    objLifestyle = objCharacterLifestyle;
                    strGuid = objLifestyle.InternalId;
                    intMonths = objLifestyle.Months;
                    break;
                }
            }

            Lifestyle objNewLifestyle = new Lifestyle(_objCharacter);
            if (objLifestyle.StyleType.ToString() != "Standard")
            {
                // Edit Advanced Lifestyle.
                frmSelectLifestyleAdvanced frmPickLifestyle = new frmSelectLifestyleAdvanced(objNewLifestyle, _objCharacter);
                frmPickLifestyle.SetLifestyle(objLifestyle);
                frmPickLifestyle.ShowDialog(this);

                if (frmPickLifestyle.DialogResult == DialogResult.Cancel)
                    return;

                // Update the selected Lifestyle and refresh the list.
                objLifestyle = frmPickLifestyle.SelectedLifestyle;
                objLifestyle.SetInternalId(strGuid);
                objLifestyle.Months = intMonths;
                _objCharacter.Lifestyles[intPosition] = objLifestyle;
                treLifestyles.SelectedNode.Text = objLifestyle.DisplayNameShort;
                RefreshSelectedLifestyle();
                UpdateCharacterInfo();
            }
            else
            {
                // Edit Basic Lifestyle.
                frmSelectLifestyle frmPickLifestyle = new frmSelectLifestyle(objNewLifestyle, _objCharacter);
                frmPickLifestyle.SetLifestyle(objLifestyle);
                frmPickLifestyle.ShowDialog(this);

                if (frmPickLifestyle.DialogResult == DialogResult.Cancel)
                    return;

                // Update the selected Lifestyle and refresh the list.
                objLifestyle = frmPickLifestyle.SelectedLifestyle;
                objLifestyle.SetInternalId(strGuid);
                objLifestyle.Months = intMonths;
                _objCharacter.Lifestyles[intPosition] = objLifestyle;
                treLifestyles.SelectedNode.Text = objLifestyle.DisplayName;
                RefreshSelectedLifestyle();
                UpdateCharacterInfo();
            }
        }