示例#1
0
        private void DescribeItem(string pvLabel, TransactionType pvType, Guid pvID = new Guid())
        {
            XPathDocument  xDoc    = new XPathDocument(Global.ItemXml);
            XPathNavigator nav     = xDoc.CreateNavigator();
            XPathNavigator itemNav = nav.SelectSingleNode("Items/Item[@Name = '" + pvLabel + "']");

            switch (itemNav.SelectSingleNode("@Type").Value)
            {
            case "Item":
                ItemDisplay.ItemName    = pvLabel;
                ItemDisplay.Image       = itemNav.SelectSingleNode("Image").Value;
                ItemDisplay.Cost        = itemNav.SelectSingleNode("Cost").ValueAsInt;
                ItemDisplay.ItemSize    = itemNav.SelectSingleNode("Size").ValueAsInt;
                ItemDisplay.Durability  = itemNav.SelectSingleNode("Durability").ValueAsInt;
                ItemDisplay.Structure   = itemNav.SelectSingleNode("Structure").ValueAsInt;
                ItemDisplay.Description = itemNav.SelectSingleNode("Description").Value;
                break;

            case "Weapon":
                ItemDisplay.ItemName = pvLabel;
                ItemDisplay.Image    = itemNav.SelectSingleNode("Image").Value;
                ItemDisplay.Cost     = itemNav.SelectSingleNode("Cost").ValueAsInt;
                ItemDisplay.ItemSize = itemNav.SelectSingleNode("Size").ValueAsInt;
                //ItemDisplay.Durability = itemNav.SelectSingleNode("Durability").ValueAsInt;
                //ItemDisplay.Structure = itemNav.SelectSingleNode("Structure").ValueAsInt;
                ItemDisplay.Description = itemNav.SelectSingleNode("Description").Value;
                break;

            case "Armor":
                ItemDisplay.ItemName = pvLabel;
                ItemDisplay.Image    = itemNav.SelectSingleNode("Image").Value;
                ItemDisplay.Cost     = itemNav.SelectSingleNode("Cost").ValueAsInt;
                //ItemDisplay.Durability = itemNav.SelectSingleNode("Durability").ValueAsInt;
                ItemDisplay.Description = itemNav.SelectSingleNode("Description").Value;
                break;
            }

            if (pvType == TransactionType.Buy)
            {
                _buySelectedItemName = ItemDisplay.ItemName;
                _buySelectedItemCost = ItemDisplay.Cost;
                _buyItemType         = itemNav.SelectSingleNode("@Type").Value;
                btnBuy.Enabled       = true;
                btnSell.Enabled      = false;
            }
            else
            {
                _sellSelectedItemName = ItemDisplay.ItemName;
                _sellSelectedItemCost = ItemDisplay.Cost;
                _sellItemType         = itemNav.SelectSingleNode("@Type").Value;
                _sellSelectedID       = pvID;
                btnBuy.Enabled        = false;
                btnSell.Enabled       = true;
            }

            ItemDisplay iDisplay = new ItemDisplay();

            pnlItemDisplay.Controls.Clear();
            pnlItemDisplay.Controls.Add(iDisplay);
        }
示例#2
0
        private void lblKeys_Click(object sender, EventArgs e)
        {
            ItemDisplay.ItemName    = "Key Ring";
            ItemDisplay.Image       = "Keys_Image.jpg";
            ItemDisplay.Description = "List of keys attained here.";

            ItemDisplay iDisplay = new ItemDisplay();

            pnlItemDisplay.Controls.Clear();
            pnlItemDisplay.Controls.Add(iDisplay);

            Global.PlaySound(Global.Sound_Keys, false);
        }
示例#3
0
        private void DescribeItem(string pvLabel)
        {
            XPathNavigator nav     = lvItemXml.CreateNavigator();
            XPathNavigator itemNav = nav.SelectSingleNode("Items/Item[@Name = '" + pvLabel + "']");

            switch (itemNav.SelectSingleNode("@Type").Value)
            {
            case "Item":
                ItemDisplay.ItemName      = pvLabel;
                ItemDisplay.Image         = itemNav.SelectSingleNode("Image").Value;
                ItemDisplay.Cost          = itemNav.SelectSingleNode("Cost").ValueAsInt;
                ItemDisplay.ItemSize      = itemNav.SelectSingleNode("Size").ValueAsInt;
                ItemDisplay.Durability    = itemNav.SelectSingleNode("Durability").ValueAsInt;
                ItemDisplay.Structure     = itemNav.SelectSingleNode("Structure").ValueAsInt;
                ItemDisplay.Description   = itemNav.SelectSingleNode("Description").Value;
                ItemDisplay.Scope         = null;
                ItemDisplay.Damage_Prim   = null;
                ItemDisplay.Damage_Sec    = null;
                ItemDisplay.Capacity      = null;
                ItemDisplay.Def_General   = 0;
                ItemDisplay.Def_Ballistic = 0;
                ItemDisplay.Range         = null;
                break;

            case "Weapon":
                ItemDisplay.ItemName    = pvLabel;
                ItemDisplay.Scope       = itemNav.SelectSingleNode("Scope").Value;
                ItemDisplay.Image       = itemNav.SelectSingleNode("Image").Value;
                ItemDisplay.Cost        = itemNav.SelectSingleNode("Cost").ValueAsInt;
                ItemDisplay.ItemSize    = itemNav.SelectSingleNode("Size").ValueAsInt;
                ItemDisplay.Damage_Prim = itemNav.SelectSingleNode("Primary/Damage").Value + "(" + itemNav.SelectSingleNode("Primary/Threat").Value + ")";

                XPathNavigator secNav = itemNav.SelectSingleNode("Secondary/Damage");
                if (secNav != null)
                {
                    ItemDisplay.Damage_Sec = itemNav.SelectSingleNode("Secondary/Damage").Value + "(" + itemNav.SelectSingleNode("Secondary/Threat").Value + ")";
                }
                else
                {
                    ItemDisplay.Damage_Sec = null;
                }

                XPathNavigator capNav = itemNav.SelectSingleNode("Capacity");
                if (capNav != null)
                {
                    ItemDisplay.Capacity = capNav.SelectSingleNode("Current").Value + @"/" +
                                           capNav.SelectSingleNode("Max").Value;
                }
                else
                {
                    ItemDisplay.Capacity = null;
                }

                XPathNavigator mediumNav = itemNav.SelectSingleNode("Range/Medium");
                XPathNavigator longNav   = itemNav.SelectSingleNode("Range/Long");

                ItemDisplay.Range = itemNav.SelectSingleNode("Range/Short").Value;
                if (mediumNav != null)
                {
                    ItemDisplay.Range += @"/" + mediumNav.Value;
                }
                if (longNav != null)
                {
                    ItemDisplay.Range += @"/" + longNav.Value;
                }

                ItemDisplay.Durability    = 0;
                ItemDisplay.Structure     = 0;
                ItemDisplay.Def_General   = 0;
                ItemDisplay.Def_Ballistic = 0;
                ItemDisplay.Description   = itemNav.SelectSingleNode("Description").Value;
                break;

            case "Armor":
                ItemDisplay.ItemName      = pvLabel;
                ItemDisplay.Image         = itemNav.SelectSingleNode("Image").Value;
                ItemDisplay.Cost          = itemNav.SelectSingleNode("Cost").ValueAsInt;
                ItemDisplay.Def_General   = itemNav.SelectSingleNode("General").ValueAsInt;
                ItemDisplay.Def_Ballistic = itemNav.SelectSingleNode("Ballistic").ValueAsInt;
                ItemDisplay.Description   = itemNav.SelectSingleNode("Description").Value;
                ItemDisplay.Durability    = 0;
                ItemDisplay.Structure     = 0;
                ItemDisplay.Scope         = null;
                ItemDisplay.Damage_Prim   = null;
                ItemDisplay.Damage_Sec    = null;
                ItemDisplay.Capacity      = null;
                ItemDisplay.Range         = null;
                break;
            }

            ItemDisplay iDisplay = new ItemDisplay();

            pnlItemDisplay.Controls.Clear();
            pnlItemDisplay.Controls.Add(iDisplay);
        }
示例#4
0
        private void treeCompendium_AfterSelect(object sender, TreeViewEventArgs e)
        {
            if (e.Node.Text == "Cash")
            {
                CashControl cControl = new CashControl();
                GMForm.setPanelSelectedCash(cControl);
            }
            else if (e.Node.Parent != null)
            {
                switch (e.Node.Parent.Text)
                {
                case "Item":
                    XPathNavigator itemNav = cvItemXml.CreateNavigator().SelectSingleNode("Items/Item[@Name = '" + e.Node.Text + "']");

                    ItemDisplay.ItemName      = e.Node.Text;
                    ItemDisplay.Image         = itemNav.SelectSingleNode("Image").Value;
                    ItemDisplay.Cost          = itemNav.SelectSingleNode("Cost").ValueAsInt;
                    ItemDisplay.ItemSize      = itemNav.SelectSingleNode("Size").ValueAsInt;
                    ItemDisplay.Durability    = itemNav.SelectSingleNode("Durability").ValueAsInt;
                    ItemDisplay.Structure     = itemNav.SelectSingleNode("Structure").ValueAsInt;
                    ItemDisplay.Description   = itemNav.SelectSingleNode("Description").Value;
                    ItemDisplay.Scope         = null;
                    ItemDisplay.Damage_Prim   = null;
                    ItemDisplay.Damage_Sec    = null;
                    ItemDisplay.Capacity      = null;
                    ItemDisplay.Def_General   = 0;
                    ItemDisplay.Def_Ballistic = 0;
                    ItemDisplay.Range         = null;

                    ItemDisplay iDisplay = new ItemDisplay();
                    GMForm.setPanelSelectedItem(iDisplay);
                    break;

                case "Weapon":
                    XPathNavigator weaponNav = cvItemXml.CreateNavigator().SelectSingleNode("Items/Item[@Name = '" + e.Node.Text + "']");

                    ItemDisplay.ItemName    = e.Node.Text;
                    ItemDisplay.Scope       = weaponNav.SelectSingleNode("Scope").Value;
                    ItemDisplay.Image       = weaponNav.SelectSingleNode("Image").Value;
                    ItemDisplay.Cost        = weaponNav.SelectSingleNode("Cost").ValueAsInt;
                    ItemDisplay.ItemSize    = weaponNav.SelectSingleNode("Size").ValueAsInt;
                    ItemDisplay.Damage_Prim = weaponNav.SelectSingleNode("Primary/Damage").Value + "(" + weaponNav.SelectSingleNode("Primary/Threat").Value + ")";;

                    XPathNavigator secNav = weaponNav.SelectSingleNode("Secondary/Damage");
                    if (secNav != null)
                    {
                        ItemDisplay.Damage_Sec = weaponNav.SelectSingleNode("Secondary/Damage").Value + "(" + weaponNav.SelectSingleNode("Secondary/Threat").Value + ")";
                    }
                    else
                    {
                        ItemDisplay.Damage_Sec = null;
                    }

                    XPathNavigator mediumNav = weaponNav.SelectSingleNode("Range/Medium");
                    XPathNavigator longNav   = weaponNav.SelectSingleNode("Range/Long");

                    ItemDisplay.Range = weaponNav.SelectSingleNode("Range/Short").Value;
                    if (mediumNav != null)
                    {
                        ItemDisplay.Range += @"/" + mediumNav.Value;
                    }
                    if (longNav != null)
                    {
                        ItemDisplay.Range += @"/" + longNav.Value;
                    }

                    ItemDisplay.Durability    = 0;
                    ItemDisplay.Structure     = 0;
                    ItemDisplay.Def_General   = 0;
                    ItemDisplay.Def_Ballistic = 0;

                    ItemDisplay.Description = weaponNav.SelectSingleNode("Description").Value;

                    ItemDisplay wDisplay = new ItemDisplay();
                    GMForm.setPanelSelectedItem(wDisplay);
                    break;

                case "Armor":
                    XPathNavigator armorNav = cvItemXml.CreateNavigator().SelectSingleNode("Items/Item[@Name = '" + e.Node.Text + "']");

                    ItemDisplay.ItemName      = e.Node.Text;
                    ItemDisplay.Image         = armorNav.SelectSingleNode("Image").Value;
                    ItemDisplay.Cost          = armorNav.SelectSingleNode("Cost").ValueAsInt;
                    ItemDisplay.Def_General   = armorNav.SelectSingleNode("General").ValueAsInt;
                    ItemDisplay.Def_Ballistic = armorNav.SelectSingleNode("Ballistic").ValueAsInt;
                    ItemDisplay.Description   = armorNav.SelectSingleNode("Description").Value;
                    ItemDisplay.Durability    = 0;
                    ItemDisplay.Structure     = 0;
                    ItemDisplay.Scope         = null;
                    ItemDisplay.Damage_Prim   = null;
                    ItemDisplay.Damage_Sec    = null;
                    ItemDisplay.Capacity      = null;
                    ItemDisplay.Range         = null;

                    ItemDisplay aDisplay = new ItemDisplay();
                    GMForm.setPanelSelectedItem(aDisplay);
                    break;

                case "Vehicle":
                    XPathNavigator vehicleNav = cvVehicleXml.CreateNavigator().SelectSingleNode("Vehicles/Vehicle[@Name = '" + e.Node.Text + "']");

                    VehicleDisplay.VehicleName  = e.Node.Text;
                    VehicleDisplay.Image        = vehicleNav.SelectSingleNode("Image").Value;
                    VehicleDisplay.Cost         = vehicleNav.SelectSingleNode("Cost").ValueAsInt;
                    VehicleDisplay.ItemSize     = vehicleNav.SelectSingleNode("Size").ValueAsInt;
                    VehicleDisplay.Durability   = vehicleNav.SelectSingleNode("Durability").ValueAsInt;
                    VehicleDisplay.Structure    = vehicleNav.SelectSingleNode("Structure").ValueAsInt;
                    VehicleDisplay.Acceleration = vehicleNav.SelectSingleNode("Acceleration").ValueAsInt;
                    VehicleDisplay.Speed        = vehicleNav.SelectSingleNode("Speed").ValueAsInt;
                    VehicleDisplay.Safe_Speed   = vehicleNav.SelectSingleNode("Safe_Speed").ValueAsInt;
                    VehicleDisplay.Handling     = vehicleNav.SelectSingleNode("Handling").ValueAsInt;
                    VehicleDisplay.Occupancy    = vehicleNav.SelectSingleNode("Occupancy").ValueAsInt;
                    VehicleDisplay.Capacity     = vehicleNav.SelectSingleNode("Capacity").ValueAsInt;
                    VehicleDisplay.Description  = vehicleNav.SelectSingleNode("Description").Value;

                    VehicleDisplay vDisplay = new VehicleDisplay();
                    GMForm.setPanelSelectedVehicle(vDisplay);
                    break;

                case "NPC":
                    XPathDocument  lvNPCxml = new XPathDocument(Properties.Settings.Default.DataLocation + @"NPC/" + e.Node.Text + ".xml");
                    XPathNavigator npcNav   = lvNPCxml.CreateNavigator();

                    CharDisplay.CharName         = npcNav.SelectSingleNode("Character/Background/Name").Value;
                    CharDisplay.Type             = npcNav.SelectSingleNode("Character/Background/Type").Value;
                    CharDisplay.Health           = npcNav.SelectSingleNode("Character/Attributes/Health/Max").ValueAsInt;
                    CharDisplay.Bash             = npcNav.SelectSingleNode("Character/Attributes/Health/Bash").ValueAsInt;
                    CharDisplay.Lethal           = npcNav.SelectSingleNode("Character/Attributes/Health/Lethal").ValueAsInt;
                    CharDisplay.Aggravated       = npcNav.SelectSingleNode("Character/Attributes/Health/Aggravated").ValueAsInt;
                    CharDisplay.WillpowerMax     = npcNav.SelectSingleNode("Character/Attributes/Willpower/Max").ValueAsInt;
                    CharDisplay.WillpowerCurrent = npcNav.SelectSingleNode("Character/Attributes/Willpower/Current").ValueAsInt;
                    CharDisplay.Image            = npcNav.SelectSingleNode("Character/Image").Value;
                    CharDisplay.DisplayType      = Global.CharType.NPC;
                    CharDisplay lvChar = new CharDisplay();

                    CharDisplay cDisplay = new CharDisplay();
                    GMForm.setPanelSelectedChar(cDisplay);
                    break;

                default:
                    break;
                }
            }
        }