public static IEnumerable <PoePreloadedItem> GetItems(StringBuilder xml) { using (MemoryStream memoryStream = new MemoryStream()) { using (StreamWriter streamWriter = new StreamWriter(memoryStream)) { streamWriter.Write(xml); streamWriter.Flush(); memoryStream.Position = 0; List <PoePreloadedItem> result = new List <PoePreloadedItem>(); XDocument document = XDocument.Load(memoryStream); foreach (XElement xElement in document.Root.Elements()) { foreach (XElement element in xElement.Elements()) { PoePreloadedItem poePreloadedItem = new PoePreloadedItem(); var atts = element.Element("title").Attributes(); poePreloadedItem.Rarity = atts.Where(a => a.Name == "rarity").FirstOrDefault().Value; poePreloadedItem.Class_ID = atts.Where(a => a.Name == "_class.20.id").FirstOrDefault().Value.Coerce(); poePreloadedItem.Name = atts.Where(a => a.Name == "name").FirstOrDefault().Value; poePreloadedItem.Size_X = atts.Where(a => a.Name == "_size.20.x").FirstOrDefault().Value.ToInt(); poePreloadedItem.Size_Y = atts.Where(a => a.Name == "_size.20.y").FirstOrDefault().Value.ToInt(); result.Add(poePreloadedItem); } } return(result); } } }
public static PoePreloadedItem GetItem(string baseName) { PoePreloadedItem outPut = null; ItemBaseStorage.TryGetValue(baseName, out outPut); return(outPut); }