예제 #1
0
        public static GearItem LoadFrom(XmlElement element, string rawXML)
        {
            var result = new GearItem();

            var itemTooltip = element.SelectSingleNode("//itemTooltip");
            result.Name = ParseText(itemTooltip, "name");
            result.Id = ParseInt(itemTooltip, "id");
            result.ILevel = ParseInt(itemTooltip, "itemLevel");

            var equipData = itemTooltip.SelectSingleNode("equipData");
            if (equipData != null)
            {
                result.Slot = (GearSlot)ParseInt(equipData, "inventoryType");
            }

            var sockets = itemTooltip.SelectNodes("socketData/socket");
            foreach (XmlNode socket in sockets)
            {
                switch (socket.Attributes["color"].Value)
                {
                    case "Red":
                        result.RedSockets++;
                        break;
                    case "Yellow":
                        result.YellowSockets++;
                        break;
                    case "Blue":
                        result.BlueSockets++;
                        break;
                    case "Meta":
                        result.MetaSockets++;
                        break;
                }
            }

            if (result.Slot == GearSlot.Waist)
                result.BlueSockets++;

            result.OptionsStr = new Simcraft().GetItem(rawXML);

            return result;
        }
예제 #2
0
 public SlotSuffixGearItem(GearItem gearItem, string slotSuffix)
 {
     this.gearItem = gearItem;
     this.slotSuffix = slotSuffix;
 }