当前位置: 首页>>代码示例>>C#>>正文


C# Armor.Create方法代码示例

本文整理汇总了C#中Armor.Create方法的典型用法代码示例。如果您正苦于以下问题:C# Armor.Create方法的具体用法?C# Armor.Create怎么用?C# Armor.Create使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Armor的用法示例。


在下文中一共展示了Armor.Create方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: CreateAllArmorTest

        public void CreateAllArmorTest()
        {
            // Create a new Human character.
            Character objCharacter = new Character();
            objCharacter.LoadMetatype(Guid.Parse("e28e7075-f635-4c02-937c-e4fc61c51602"));

            TreeNode objNode = new TreeNode();
            ContextMenuStrip cmsArmor = new ContextMenuStrip();

            XmlDocument objXmlDocument = XmlManager.Instance.Load("armor.xml");
            foreach (XmlNode objXmlNode in objXmlDocument.SelectNodes("/chummer/armors/armor"))
            {
                Armor objArmor = new Armor(objCharacter);
                objArmor.Create(objXmlNode, objNode, cmsArmor);
            }
        }
开发者ID:janhelke,项目名称:chummer2,代码行数:16,代码来源:EquipmentTests.cs

示例2: cmdAddArmor_Click

        private void cmdAddArmor_Click(object sender, EventArgs e)
        {
            frmSelectArmor frmPickArmor = new frmSelectArmor(_objCharacter);
            frmPickArmor.ShowDialog(this);

            // Make sure the dialogue window was not canceled.
            if (frmPickArmor.DialogResult == DialogResult.Cancel)
                return;

            // Open the Armor XML file and locate the selected piece.
            XmlDocument objXmlDocument = XmlManager.Instance.Load("armor.xml");

            XmlNode objXmlArmor = objXmlDocument.SelectSingleNode("/chummer/armors/armor[name = \"" + frmPickArmor.SelectedArmor + "\"]");

            TreeNode objNode = new TreeNode();
            Armor objArmor = new Armor(_objCharacter);
            objArmor.Create(objXmlArmor, objNode, cmsArmorMod, frmPickArmor.Rating);
            if (objArmor.InternalId == Guid.Empty.ToString())
                return;

            _objCharacter.Armor.Add(objArmor);

            objNode.ContextMenuStrip = cmsArmor;
            treArmor.Nodes[0].Nodes.Add(objNode);
            treArmor.Nodes[0].Expand();
            treArmor.SelectedNode = objNode;

            UpdateCharacterInfo();

            _blnIsDirty = true;
            UpdateWindowTitle();

            if (frmPickArmor.AddAgain)
                cmdAddArmor_Click(sender, e);
        }
开发者ID:cormanater,项目名称:chummer5a,代码行数:35,代码来源:frmCreate.cs

示例3: AddPACKSKit

        /// <summary>
        /// Add a PACKS Kit to the character.
        /// </summary>
        public void AddPACKSKit()
        {
            frmSelectPACKSKit frmPickPACKSKit = new frmSelectPACKSKit(_objCharacter);
            frmPickPACKSKit.ShowDialog(this);

            bool blnCreateChildren = true;

            // If the form was canceled, don't do anything.
            if (frmPickPACKSKit.DialogResult == DialogResult.Cancel)
                return;

            XmlDocument objXmlDocument = XmlManager.Instance.Load("packs.xml");

            // Do not create child items for Gear if the chosen Kit is in the Custom category since these items will contain the exact plugins desired.
            if (frmPickPACKSKit.SelectedCategory == "Custom")
                blnCreateChildren = false;

            XmlNode objXmlKit = objXmlDocument.SelectSingleNode("/chummer/packs/pack[name = \"" + frmPickPACKSKit.SelectedKit + "\" and category = \"" + frmPickPACKSKit.SelectedCategory + "\"]");
            // Update Qualities.
            if (objXmlKit["qualities"] != null)
            {
                XmlDocument objXmlQualityDocument = XmlManager.Instance.Load("qualities.xml");

                // Positive Qualities.
                foreach (XmlNode objXmlQuality in objXmlKit.SelectNodes("qualities/positive/quality"))
                {
                    XmlNode objXmlQualityNode = objXmlQualityDocument.SelectSingleNode("/chummer/qualities/quality[name = \"" + objXmlQuality.InnerText + "\"]");

                    TreeNode objNode = new TreeNode();
                    List<Weapon> objWeapons = new List<Weapon>();
                    List<TreeNode> objWeaponNodes = new List<TreeNode>();
                    Quality objQuality = new Quality(_objCharacter);
                    string strForceValue = "";

                    if (objXmlQuality.Attributes["select"] != null)
                        strForceValue = objXmlQuality.Attributes["select"].InnerText;

                    objQuality.Create(objXmlQualityNode, _objCharacter, QualitySource.Selected, objNode, objWeapons, objWeaponNodes, strForceValue);
                    _objCharacter.Qualities.Add(objQuality);

                    treQualities.Nodes[0].Nodes.Add(objNode);
                    treQualities.Nodes[0].Expand();

                    // Add any created Weapons to the character.
                    foreach (Weapon objWeapon in objWeapons)
                        _objCharacter.Weapons.Add(objWeapon);

                    // Create the Weapon Node if one exists.
                    foreach (TreeNode objWeaponNode in objWeaponNodes)
                    {
                        objWeaponNode.ContextMenuStrip = cmsWeapon;
                        treWeapons.Nodes[0].Nodes.Add(objWeaponNode);
                        treWeapons.Nodes[0].Expand();
                    }
                }

                // Negative Qualities.
                foreach (XmlNode objXmlQuality in objXmlKit.SelectNodes("qualities/negative/quality"))
                {
                    XmlNode objXmlQualityNode = objXmlQualityDocument.SelectSingleNode("/chummer/qualities/quality[name = \"" + objXmlQuality.InnerText + "\"]");

                    TreeNode objNode = new TreeNode();
                    List<Weapon> objWeapons = new List<Weapon>();
                    List<TreeNode> objWeaponNodes = new List<TreeNode>();
                    Quality objQuality = new Quality(_objCharacter);
                    string strForceValue = "";

                    if (objXmlQuality.Attributes["select"] != null)
                        strForceValue = objXmlQuality.Attributes["select"].InnerText;

                    objQuality.Create(objXmlQualityNode, _objCharacter, QualitySource.Selected, objNode, objWeapons, objWeaponNodes, strForceValue);
                    _objCharacter.Qualities.Add(objQuality);

                    treQualities.Nodes[1].Nodes.Add(objNode);
                    treQualities.Nodes[1].Expand();

                    // Add any created Weapons to the character.
                    foreach (Weapon objWeapon in objWeapons)
                        _objCharacter.Weapons.Add(objWeapon);

                    // Create the Weapon Node if one exists.
                    foreach (TreeNode objWeaponNode in objWeaponNodes)
                    {
                        objWeaponNode.ContextMenuStrip = cmsWeapon;
                        treWeapons.Nodes[0].Nodes.Add(objWeaponNode);
                        treWeapons.Nodes[0].Expand();
                    }
                }
            }

            // Update Attributes.
            if (objXmlKit["attributes"] != null)
            {
                // Reset all Attributes back to 1 so we don't go over any BP limits.
                nudBOD.Value = nudBOD.Minimum;
                nudAGI.Value = nudAGI.Minimum;
                nudREA.Value = nudREA.Minimum;
//.........这里部分代码省略.........
开发者ID:cormanater,项目名称:chummer5a,代码行数:101,代码来源:frmCreate.cs

示例4: cmdAddArmor_Click

        private void cmdAddArmor_Click(object sender, EventArgs e)
        {
            frmSelectArmor frmPickArmor = new frmSelectArmor(_objCharacter, true);
            frmPickArmor.ShowDialog(this);

            // Make sure the dialogue window was not canceled.
            if (frmPickArmor.DialogResult == DialogResult.Cancel)
                return;

            // Open the Armor XML file and locate the selected piece.
            XmlDocument objXmlDocument = XmlManager.Instance.Load("armor.xml");

            XmlNode objXmlArmor = objXmlDocument.SelectSingleNode("/chummer/armors/armor[name = \"" + frmPickArmor.SelectedArmor + "\"]");

            TreeNode objNode = new TreeNode();
            Armor objArmor = new Armor(_objCharacter);
            objArmor.Create(objXmlArmor, objNode, cmsArmorMod);
            if (objArmor.InternalId == Guid.Empty.ToString())
                return;

            int intCost = objArmor.TotalCost;
            // Apply a markup if applicable.
            if (frmPickArmor.Markup != 0)
            {
                double dblCost = Convert.ToDouble(intCost, GlobalOptions.Instance.CultureInfo);
                dblCost *= 1 + (Convert.ToDouble(frmPickArmor.Markup, GlobalOptions.Instance.CultureInfo) / 100.0);
                intCost = Convert.ToInt32(dblCost);
            }

            // Multiply the cost if applicable.
            if (objArmor.TotalAvail.EndsWith(LanguageManager.Instance.GetString("String_AvailRestricted")) && _objOptions.MultiplyRestrictedCost)
                intCost *= _objOptions.RestrictedCostMultiplier;
            if (objArmor.TotalAvail.EndsWith(LanguageManager.Instance.GetString("String_AvailForbidden")) && _objOptions.MultiplyForbiddenCost)
                intCost *= _objOptions.ForbiddenCostMultiplier;

            // Check the item's Cost and make sure the character can afford it.
            if (!frmPickArmor.FreeCost)
            {
                if (intCost > _objCharacter.Nuyen)
                {
                    MessageBox.Show(LanguageManager.Instance.GetString("Message_NotEnoughNuyen"), LanguageManager.Instance.GetString("MessageTitle_NotEnoughNuyen"), MessageBoxButtons.OK, MessageBoxIcon.Information);
                    // Remove the Improvements created by the Armor.
                    _objImprovementManager.RemoveImprovements(Improvement.ImprovementSource.Armor, objArmor.InternalId);
                    if (frmPickArmor.AddAgain)
                        cmdAddArmor_Click(sender, e);

                    return;
                }
                else
                {
                    // Create the Expense Log Entry.
                    ExpenseLogEntry objExpense = new ExpenseLogEntry();
                    objExpense.Create(intCost * -1, LanguageManager.Instance.GetString("String_ExpensePurchaseArmor") + " " + objArmor.DisplayNameShort, ExpenseType.Nuyen, DateTime.Now);
                    _objCharacter.ExpenseEntries.Add(objExpense);
                    _objCharacter.Nuyen -= intCost;

                    ExpenseUndo objUndo = new ExpenseUndo();
                    objUndo.CreateNuyen(NuyenExpenseType.AddArmor, objArmor.InternalId);
                    objExpense.Undo = objUndo;
                }
            }

            _objCharacter.Armor.Add(objArmor);

            objNode.ContextMenuStrip = cmsArmor;
            treArmor.Nodes[0].Nodes.Add(objNode);
            treArmor.Nodes[0].Expand();
            treArmor.SelectedNode = objNode;

            UpdateCharacterInfo();

            _blnIsDirty = true;
            UpdateWindowTitle();

            if (frmPickArmor.AddAgain)
                cmdAddArmor_Click(sender, e);
        }
开发者ID:Althalusdlg,项目名称:chummer5a,代码行数:77,代码来源:frmCareer.cs

示例5: lstArmor_SelectedIndexChanged

        private void lstArmor_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (lstArmor.Text == "")
                return;

            // Get the information for the selected piece of Armor.
            XmlNode objXmlArmor = _objXmlDocument.SelectSingleNode("/chummer/armors/armor[id = \"" + lstArmor.SelectedValue + "\"]");
            // Create the Armor so we can show its Total Avail (some Armor includes Chemical Seal which adds +6 which wouldn't be factored in properly otherwise).
            Armor objArmor = new Armor(_objCharacter);
            TreeNode objNode = new TreeNode();
            objArmor.Create(objXmlArmor, objNode, null, true, true, false);

            lblArmor.Text = objArmor.TotalArmorValue.ToString();
            lblAvail.Text = objArmor.TotalAvail;

            // Check for a Variable Cost.
            int intItemCost = 0;
            if (objXmlArmor["cost"].InnerText.StartsWith("Variable"))
            {
                int intMin = 0;
                int intMax = 0;
                string strCost = objXmlArmor["cost"].InnerText.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(objArmor.TotalCost, GlobalOptions.Instance.CultureInfo);
                dblCost *= 1 + (Convert.ToDouble(nudMarkup.Value, GlobalOptions.Instance.CultureInfo) / 100.0);
                lblCost.Text = String.Format("{0:###,###,##0¥}", dblCost);
                intItemCost = Convert.ToInt32(dblCost);
            }

            lblCapacity.Text = objArmor.CalculatedCapacity;

            if (chkFreeItem.Checked)
            {
                lblCost.Text = String.Format("{0:###,###,##0¥}", 0);
                intItemCost = 0;
            }

            lblTest.Text = _objCharacter.AvailTest(intItemCost, lblAvail.Text);

            string strBook = _objCharacter.Options.LanguageBookShort(objArmor.Source);
            string strPage = objArmor.Page;
            lblSource.Text = strBook + " " + strPage;

            tipTooltip.SetToolTip(lblSource, _objCharacter.Options.LanguageBookLong(objArmor.Source) + " " + LanguageManager.Instance.GetString("String_Page") + " " + strPage);
        }
开发者ID:janhelke,项目名称:chummer2,代码行数:65,代码来源:frmSelectArmor.cs

示例6: tmrSearch_Tick

        private void tmrSearch_Tick(object sender, EventArgs e)
        {
            tmrSearch.Stop();
            tmrSearch.Enabled = false;

            if (txtSearch.Text == "")
            {
                cboCategory_SelectedIndexChanged(sender, e);
                return;
            }

            string strCategoryFilter = "";

            foreach (object objListItem in cboCategory.Items)
            {
                ListItem objItem = (ListItem)objListItem;
                if (objItem.Value != "")
                    strCategoryFilter += "category = \"" + objItem.Value + "\" or ";
            }

            // Treat everything as being uppercase so the search is case-insensitive.
            string strSearch = "/chummer/armors/armor[(" + _objCharacter.Options.BookXPath() + ") and ((contains(translate(name,'abcdefghijklmnopqrstuvwxyzàáâãäåçèéêëìíîïñòóôõöùúûüýß','ABCDEFGHIJKLMNOPQRSTUVWXYZÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝß'), \"" + txtSearch.Text.ToUpper() + "\") and not(translate)) or contains(translate(translate,'abcdefghijklmnopqrstuvwxyzàáâãäåçèéêëìíîïñòóôõöùúûüýß','ABCDEFGHIJKLMNOPQRSTUVWXYZÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝß'), \"" + txtSearch.Text.ToUpper() + "\"))";
            if (strCategoryFilter != "")
                strSearch += " and (" + strCategoryFilter + ")";
            // Remove the trailing " or )";
            if (strSearch.EndsWith(" or )"))
            {
                strSearch = strSearch.Substring(0, strSearch.Length - 4) + ")";
            }
            strSearch += "]";

            XmlNodeList objXmlArmorList = _objXmlDocument.SelectNodes(strSearch);

            if (dgvArmor.Visible)
            {
                DataTable tabArmor = new DataTable("armor");
                tabArmor.Columns.Add("ArmorName");
                tabArmor.Columns.Add("Armor");
                tabArmor.Columns["Armor"].DataType = typeof(Int32);
                tabArmor.Columns.Add("Capacity");
                tabArmor.Columns["Capacity"].DataType = typeof(Int32);
                tabArmor.Columns.Add("Avail");
                tabArmor.Columns.Add("Special");
                tabArmor.Columns.Add("Source");
                tabArmor.Columns.Add("Cost");
                tabArmor.Columns["Cost"].DataType = typeof(Int32);

                // Populate the Weapon list.
                foreach (XmlNode objXmlArmor in objXmlArmorList)
                {
                    TreeNode objNode = new TreeNode();
                    Armor objArmor = new Armor(_objCharacter);
                    objArmor.Create(objXmlArmor, objNode, null, true, true);

                    string strWeaponName = objArmor.Name;
                    int intArmor = objArmor.TotalArmor;
                    int intCapacity = Convert.ToInt32(objArmor.CalculatedCapacity);
                    string strAvail = objArmor.Avail;
                    string strAccessories = "";
                    foreach (ArmorMod objMod in objArmor.ArmorMods)
                    {
                        if (strAccessories.Length > 0)
                            strAccessories += "\n";
                        strAccessories += objMod.Name;
                    }
                    foreach (Gear objGear in objArmor.Gear)
                    {
                        if (strAccessories.Length > 0)
                            strAccessories += "\n";
                        strAccessories += objGear.Name;
                    }
                    string strSource = objArmor.Source + " " + objArmor.Page;
                    int intCost = objArmor.Cost;

                    tabArmor.Rows.Add(strWeaponName, intArmor, intCapacity, strAvail, strAccessories, strSource, intCost);
                }

                DataSet set = new DataSet("armor");
                set.Tables.Add(tabArmor);

                dgvArmor.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
                dgvArmor.DataSource = set;
                dgvArmor.DataMember = "armor";
            }
            else
            {
                List<ListItem> lstArmors = new List<ListItem>();
                foreach (XmlNode objXmlArmor in objXmlArmorList)
                {
                    ListItem objItem = new ListItem();
                    objItem.Value = objXmlArmor["name"].InnerText;
                    if (objXmlArmor["translate"] != null)
                        objItem.Name = objXmlArmor["translate"].InnerText;
                    else
                        objItem.Name = objXmlArmor["name"].InnerText;

                    try
                    {
                        objItem.Name += " [" + _lstCategory.Find(objFind => objFind.Value == objXmlArmor["category"].InnerText).Name + "]";
                        lstArmors.Add(objItem);
//.........这里部分代码省略.........
开发者ID:blackmage5242,项目名称:chummer5a-master,代码行数:101,代码来源:frmSelectArmor.cs

示例7: LoadGrid

        private void LoadGrid()
        {
            DataTable tabArmor = new DataTable("armor");
            tabArmor.Columns.Add("ArmorName");
            tabArmor.Columns.Add("Armor");
            tabArmor.Columns["Armor"].DataType = typeof(Int32);
            tabArmor.Columns.Add("Capacity");
            tabArmor.Columns["Capacity"].DataType = typeof(Int32);
            tabArmor.Columns.Add("Avail");
            tabArmor.Columns.Add("Special");
            tabArmor.Columns.Add("Source");
            tabArmor.Columns.Add("Cost");
            tabArmor.Columns["Cost"].DataType = typeof(Int32);

            // Populate the Weapon list.
            XmlNodeList objXmlArmorList;

            if (txtSearch.Text.Length > 1)
            {
                string strSearch = "/chummer/weapons/weapon[(" + _objCharacter.Options.BookXPath() + ") and category != \"Cyberware\" and category != \"Gear\" and ((contains(translate(name,'abcdefghijklmnopqrstuvwxyzàáâãäåçèéêëìíîïñòóôõöùúûüýß','ABCDEFGHIJKLMNOPQRSTUVWXYZÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝß'), \"" + txtSearch.Text.ToUpper() + "\") and not(translate)) or contains(translate(translate,'abcdefghijklmnopqrstuvwxyzàáâãäåçèéêëìíîïñòóôõöùúûüýß','ABCDEFGHIJKLMNOPQRSTUVWXYZÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝß'), \"" + txtSearch.Text.ToUpper() + "\"))]";
                objXmlArmorList = _objXmlDocument.SelectNodes(strSearch);
            }
            else
            {
                // Populate the Armor list.
                objXmlArmorList = _objXmlDocument.SelectNodes("/chummer/armors/armor[category = \"" + cboCategory.SelectedValue + "\" and (" + _objCharacter.Options.BookXPath() + ")]");
            }

            foreach (XmlNode objXmlArmor in objXmlArmorList)
            {
                TreeNode objNode = new TreeNode();
                Armor objArmor = new Armor(_objCharacter);
                objArmor.Create(objXmlArmor, objNode, null, true, true);

                string strWeaponName = objArmor.Name;
                int intArmor = objArmor.TotalArmor;
                int intCapacity = Convert.ToInt32(objArmor.CalculatedCapacity);
                string strAvail = objArmor.Avail;
                string strAccessories = "";
                foreach (ArmorMod objMod in objArmor.ArmorMods)
                {
                    if (strAccessories.Length > 0)
                        strAccessories += "\n";
                    strAccessories += objMod.Name;
                }
                foreach (Gear objGear in objArmor.Gear)
                {
                    if (strAccessories.Length > 0)
                        strAccessories += "\n";
                    strAccessories += objGear.Name;
                }
                string strSource = objArmor.Source + " " + objArmor.Page;
                int intCost = objArmor.Cost;

                tabArmor.Rows.Add(strWeaponName, intArmor, intCapacity, strAvail, strAccessories, strSource, intCost);
            }

            DataSet set = new DataSet("armor");
            set.Tables.Add(tabArmor);

            dgvArmor.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
            dgvArmor.DataSource = set;
            dgvArmor.DataMember = "armor";
        }
开发者ID:blackmage5242,项目名称:chummer5a-master,代码行数:64,代码来源:frmSelectArmor.cs

示例8: TestArmor

        private void TestArmor()
        {
            Character objCharacter = new Character();
            XmlDocument objXmlDocument = XmlManager.Instance.Load("armor.xml");
            pgbProgress.Minimum = 0;
            pgbProgress.Value = 0;
            pgbProgress.Maximum = objXmlDocument.SelectNodes("/chummer/armors/armor").Count;
            pgbProgress.Maximum += objXmlDocument.SelectNodes("/chummer/mods/mod").Count;

            // Armor.
            foreach (XmlNode objXmlGear in objXmlDocument.SelectNodes("/chummer/armors/armor"))
            {
                pgbProgress.Value++;
                Application.DoEvents();
                try
                {
                    TreeNode objTempNode = new TreeNode();
                    Armor objTemp = new Armor(objCharacter);
                    objTemp.Create(objXmlGear, objTempNode, null);
                    try
                    {
                        int objValue = objTemp.TotalCost;
                    }
                    catch
                    {
                        txtOutput.Text += objXmlGear["name"].InnerText + " failed TotalCost\n";
                    }
                    try
                    {
                        int objValue = objTemp.TotalBallistic;
                    }
                    catch
                    {
                        txtOutput.Text += objXmlGear["name"].InnerText + " failed TotalBallistic\n";
                    }
                    try
                    {
                        int objValue = objTemp.TotalImpact;
                    }
                    catch
                    {
                        txtOutput.Text += objXmlGear["name"].InnerText + " failed TotalImpact\n";
                    }
                    try
                    {
                        string objValue = objTemp.TotalAvail;
                    }
                    catch
                    {
                        txtOutput.Text += objXmlGear["name"].InnerText + " failed TotalAvail\n";
                    }
                    try
                    {
                        string objValue = objTemp.CalculatedCapacity;
                    }
                    catch
                    {
                        txtOutput.Text += objXmlGear["name"].InnerText + " failed CalculatedCapacity\n";
                    }
                }
                catch
                {
                    txtOutput.Text += objXmlGear["name"].InnerText + " general failure\n";
                }
            }

            // Armor Mods.
            foreach (XmlNode objXmlGear in objXmlDocument.SelectNodes("/chummer/mods/mod"))
            {
                pgbProgress.Value++;
                Application.DoEvents();
                try
                {
                    TreeNode objTempNode = new TreeNode();
                    ArmorMod objTemp = new ArmorMod(objCharacter);
                    List<Weapon> lstWeaopns = new List<Weapon>();
                    List<TreeNode> lstNodes = new List<TreeNode>();
                    objTemp.Create(objXmlGear, objTempNode, 1, lstWeaopns, lstNodes);
                    try
                    {
                        string objValue = objTemp.TotalAvail;
                    }
                    catch
                    {
                        txtOutput.Text += objXmlGear["name"].InnerText + " failed TotalAvail\n";
                    }
                    try
                    {
                        string objValue = objTemp.CalculatedCapacity;
                    }
                    catch
                    {
                        txtOutput.Text += objXmlGear["name"].InnerText + " failed CalculatedCapacity\n";
                    }
                }
                catch
                {
                    txtOutput.Text += objXmlGear["name"].InnerText + " general failure\n";
                }
            }
//.........这里部分代码省略.........
开发者ID:hollis21,项目名称:Chummer,代码行数:101,代码来源:frmTest.cs

示例9: UpdateArmorInfo

		private void UpdateArmorInfo()
		{
			// Get the information for the selected piece of Armor.
			XmlNode objXmlArmor = _objXmlDocument.SelectSingleNode("/chummer/armors/armor[name = \"" + lstArmor.SelectedValue + "\"]");
			// Create the Armor so we can show its Total Avail (some Armor includes Chemical Seal which adds +6 which wouldn't be factored in properly otherwise).
			Armor objArmor = new Armor(_objCharacter);
			TreeNode objNode = new TreeNode();
			objArmor.Create(objXmlArmor, objNode, null, 0, true);

			// Check for a Variable Cost.
			int intItemCost = 0;
			if (objXmlArmor["cost"].InnerText.StartsWith("Variable"))
			{
				int intMin = 0;
				int intMax = 0;
				string strCost = objXmlArmor["cost"].InnerText.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 if (objXmlArmor["cost"].InnerText.Contains("Rating"))
			{
				XPathNavigator nav = _objXmlDocument.CreateNavigator();
				XPathExpression xprCost = nav.Compile(objXmlArmor["cost"].InnerText.Replace("Rating", nudRating.Value.ToString()));
				lblCost.Text = String.Format("{0:###,###,##0¥}", Convert.ToInt32((Convert.ToDouble(nav.Evaluate(xprCost), GlobalOptions.Instance.CultureInfo))));
				intItemCost = Convert.ToInt32((Convert.ToDouble(nav.Evaluate(xprCost), GlobalOptions.Instance.CultureInfo)));
			}
			else
			{
				double dblCost = Convert.ToDouble(objXmlArmor["cost"].InnerText, GlobalOptions.Instance.CultureInfo);
				dblCost *= 1 + (Convert.ToDouble(nudMarkup.Value, GlobalOptions.Instance.CultureInfo) / 100.0);
				lblCost.Text = String.Format("{0:###,###,##0¥}", dblCost);
				intItemCost = Convert.ToInt32(dblCost);
			}

			lblCapacity.Text = objXmlArmor["armorcapacity"].InnerText;

			if (chkFreeItem.Checked)
			{
				lblCost.Text = String.Format("{0:###,###,##0¥}", 0);
				intItemCost = 0;
			}

			lblTest.Text = _objCharacter.AvailTest(intItemCost, lblAvail.Text);

			string strBook = _objCharacter.Options.LanguageBookShort(objXmlArmor["source"].InnerText);
			string strPage = objXmlArmor["page"].InnerText;
			if (objXmlArmor["altpage"] != null)
				strPage = objXmlArmor["altpage"].InnerText;
			lblSource.Text = strBook + " " + strPage;


			tipTooltip.SetToolTip(lblSource, _objCharacter.Options.LanguageBookLong(objXmlArmor["source"].InnerText) + " " + LanguageManager.Instance.GetString("String_Page") + " " + strPage);
		}
开发者ID:AMDX9,项目名称:chummer5a,代码行数:69,代码来源:frmSelectArmor.cs

示例10: lstArmor_SelectedIndexChanged

		private void lstArmor_SelectedIndexChanged(object sender, EventArgs e)
		{
			if (lstArmor.Text == "")
				return;

			// Get the information for the selected piece of Armor.
			XmlNode objXmlArmor = _objXmlDocument.SelectSingleNode("/chummer/armors/armor[name = \"" + lstArmor.SelectedValue + "\"]");
			// Create the Armor so we can show its Total Avail (some Armor includes Chemical Seal which adds +6 which wouldn't be factored in properly otherwise).
			Armor objArmor = new Armor(_objCharacter);
			TreeNode objNode = new TreeNode();
			objArmor.Create(objXmlArmor, objNode, null, 0, true);

			lblArmor.Text = objXmlArmor["name"].InnerText;
            lblArmorValue.Text = objXmlArmor["armor"].InnerText;
			lblAvail.Text = objArmor.TotalAvail;

			if (objXmlArmor["rating"] != null)
			{
				lblRatingLabel.Visible = true;
				nudRating.Visible = true;
				nudRating.Enabled = true;
				nudRating.Maximum = Convert.ToInt32(objXmlArmor["rating"].InnerText);
				nudRating.Minimum = 1;
				nudRating.Value = 1;
			}
			else
			{
				lblRatingLabel.Visible = false;
				nudRating.Visible = false;
				nudRating.Enabled = false;
				nudRating.Minimum = 0;
				nudRating.Value = 0;
			}
			UpdateArmorInfo();
		}
开发者ID:AMDX9,项目名称:chummer5a,代码行数:35,代码来源:frmSelectArmor.cs


注:本文中的Armor.Create方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。