using System.Collections.Generic; using System.Linq; public partial class GubaoLVConfig : ConfigBase { public static List useItemIDS = new List(); // 使用的物品ID列表 刷新通知用 static Dictionary> lvConfigDict = new Dictionary>(); protected override void OnConfigParseCompleted() { if (!lvConfigDict.ContainsKey(GubaoQuality)) { lvConfigDict[GubaoQuality] = new Dictionary(); } lvConfigDict[GubaoQuality][LessEqualLV] = this; for (int i = 0; i < LVUPNeedItemInfo.Length; i++) { if (!useItemIDS.Contains(LVUPNeedItemInfo[i][0])) { useItemIDS.Add(LVUPNeedItemInfo[i][0]); } } } public static GubaoLVConfig GetConfig(int quality, int lv) { //LessEqualLV 的记录是 升级目标小于等于这个等级的配置,需判断lv; 即取下一级的配置 if (lvConfigDict.ContainsKey(quality)) { var items = lvConfigDict[quality].Values.ToList(); items.Sort((a, b) => a.LessEqualLV.CompareTo(b.LessEqualLV)); foreach (var item in items) { if (lv < item.LessEqualLV) { return item; } } } return null; } }