using System; using System.Collections.Generic; using System.Linq; public partial class CycleHallConfig : IConfigPostProcess { static List tabIndexList = new List(); static Dictionary sortDict = new Dictionary(); //<轮回类型,<界面类型,配置ID>> static Dictionary> infoDict = new Dictionary>(); public void OnConfigParseCompleted() { sortDict[TabSort] = id; if (!infoDict.ContainsKey(RoundType)) infoDict[RoundType] = new Dictionary(); infoDict[RoundType][TabType] = id; } public static List GetTabList() { if (sortDict.IsNullOrEmpty()) return null; if (tabIndexList.IsNullOrEmpty()) { var list = sortDict.Keys.ToList(); list.Sort(); for (int i = 0; i < list.Count; i++) { int id = sortDict[list[i]]; if (!tabIndexList.Contains(id)) tabIndexList.Add(id); } } return tabIndexList; } public static int GetIndex(int roundType, int tabType) { return infoDict.TryGetValue(roundType, out var info) && info.TryGetValue(tabType, out var index) ? index : 0; } }