public override Task LoadAll() { var prop = Collection.Resolve("Item/ItemOption.img"); prop.Children .ToDictionary( p => Convert.ToInt32(p.Name), p => ItemOptionTemplate.Parse(Convert.ToInt32(p.Name), p) ) .ForEach(kv => Templates.Add(kv.Key, kv.Value)); return(Task.CompletedTask); }
public static ItemOptionTemplate Parse(int id, IDataProperty property) { var t = new ItemOptionTemplate { ID = id }; property.Resolve(p => { p.Resolve("info")?.Resolve(i => { t.ReqLevel = i?.Resolve <short>("reqLevel") ?? 0; t.OptionType = i?.Resolve <short>("optionType") ?? 0; }); t.LevelData = p.Resolve("level").Children .ToDictionary( l => Convert.ToInt32(l.Name), l => ItemOptionLevelTemplate.Parse(Convert.ToInt32(l.Name), l) ); }); return(t); }