using System.Collections.Generic; public partial class ActSignAwardConfig : ConfigBase { // 模板编号: 第X天从1开始 :配置ID private static Dictionary> infoDict = new Dictionary>(); // 模板编号 第X天从1开始 private static Dictionary> sortDict = new Dictionary>(); protected override void OnConfigParseCompleted() { if (!infoDict.TryGetValue(TemplateID, out var dict)) { dict = new Dictionary(); infoDict[TemplateID] = dict; } dict[DayNum] = ID; } private static void LoadSortList() { if (!sortDict.IsNullOrEmpty()) return; foreach (var kvp in infoDict) { int templateID = kvp.Key; List list = new List(kvp.Value.Keys); list.Sort(); sortDict[templateID] = list; } } public static List GetDayNumSortList(int templateID) { LoadSortList(); sortDict.TryGetValue(templateID, out var list); return list; } public static Dictionary GetTemplateIDDict(int templateID) { infoDict.TryGetValue(templateID, out var dict); return dict; } public static int GetID(int templateID, int dayNum) { var dict = GetTemplateIDDict(templateID); if (dict == null) return 0; dict.TryGetValue(dayNum, out var id); return id; } public static ActSignAwardConfig GetConfig(int templateID, int dayNum) { int id = GetID(templateID, dayNum); return Get(id); } }