public static CommodityTemplate Parse(int id, IDataProperty property) { var t = new CommodityTemplate { ID = id }; property.Resolve(p => { t.ItemID = p.Resolve <int>("ItemId") ?? 0; t.Count = p.Resolve <short>("Count") ?? 1; t.Priority = p.Resolve <byte>("Priority") ?? 0; t.Price = p.Resolve <int>("Price") ?? 0; t.Bonus = p.Resolve <byte>("Bonus") ?? 0; t.Period = p.Resolve <short>("Period") ?? 0; t.ReqPOP = p.Resolve <short>("ReqPOP") ?? 0; t.ReqLEV = p.Resolve <short>("ReqLEV") ?? 0; t.MaplePoint = p.Resolve <int>("MaplePoint") ?? 0; t.Meso = p.Resolve <int>("Meso") ?? 0; t.ForPremiumUser = p.Resolve <bool>("Premium") ?? false; t.Gender = p.Resolve <sbyte>("Gender") ?? 0; t.OnSale = p.Resolve <bool>("OnSale") ?? false; t.Class = p.Resolve <byte>("Class") ?? 0; t.Limit = p.Resolve <byte>("Limit") ?? 0; t.PbCash = p.Resolve <short>("PbCash") ?? 0; t.PbPoint = p.Resolve <short>("PbPoint") ?? 0; t.PbGift = p.Resolve <short>("PbGift") ?? 0; }); return(t); }
public override Task LoadAll() { var property = Collection.Resolve("Etc/Commodity.img"); property.Children .ToDictionary( c => c.Resolve <int>("SN") ?? 0, c => CommodityTemplate.Parse(c.Resolve <int>("SN") ?? 0, c) ) .ForEach(kv => Templates.Add(kv.Key, kv.Value)); return(Task.CompletedTask); }