using System.Collections.Generic; using System.Linq; using NBF.Utils; namespace NBF { public static class GoodsConfigHelper { public static readonly List TabItemList = new List(); /// /// 组合和id映射关系 /// private static readonly Dictionary> _group2Id = new Dictionary>(); private static readonly Dictionary _googs = new Dictionary(); // private static readonly Dictionary<> public static void Init() { var listGoods = GoodsConfig.GetList(); TabItemList.Clear(); foreach (var goodsConfig in listGoods) { if (goodsConfig.Group < 1) { goodsConfig.Group = goodsConfig.Id; } if (!_group2Id.TryGetValue(goodsConfig.Group, out List ids)) { ids = new List(); _group2Id.Add(goodsConfig.Group, ids); } ids.Add(goodsConfig.Id); _googs[goodsConfig.Id] = goodsConfig; } Dictionary> tabDic = new Dictionary>(); foreach (var goodsId in _group2Id.Keys) { var good = _googs[goodsId]; var awards = good.Awards; var type = awards.First().Id.GetItemType(); if (!tabDic.ContainsKey(type)) { tabDic.Add(type, new List()); } tabDic[type].Add(good); } foreach (var (key, list) in tabDic) { list.Sort((x, y) => (int)(y.Price1 - x.Price1)); } foreach (var (type, list) in tabDic) { TabItemData tabItem = new TabItemData { Key = type.ToString() }; tabItem.Items.AddRange(list); TabItemList.Add(tabItem); } } } }