using System.Collections.Generic;
|
public partial class ActHeroAppearStarConfig : ConfigBase<int, ActHeroAppearStarConfig>
|
{
|
// 升星礼包模版ID: 奖励记录索引 :配置ID
|
private static Dictionary<int, Dictionary<int, int>> infoDict = new();
|
// 升星礼包模版ID List<奖励记录索引>
|
private static Dictionary<int, List<int>> sortDict = new();
|
protected override void OnConfigParseCompleted()
|
{
|
if (!infoDict.TryGetValue(StarTempID, out var dict))
|
{
|
dict = new Dictionary<int, int>();
|
infoDict[StarTempID] = dict;
|
}
|
dict[AwardIndex] = ID;
|
}
|
|
private static void LoadSortList()
|
{
|
if (!sortDict.IsNullOrEmpty()) return;
|
foreach (var kvp in infoDict)
|
{
|
int starTempID = kvp.Key;
|
List<int> list = new List<int>(kvp.Value.Keys);
|
list.Sort();
|
sortDict[starTempID] = list;
|
}
|
}
|
|
public static List<int> GetAwardIndexSortList(int starTempID)
|
{
|
LoadSortList();
|
sortDict.TryGetValue(starTempID, out var list);
|
return list;
|
}
|
|
public static Dictionary<int, int> GetAwardIndexDict(int starTempID)
|
{
|
infoDict.TryGetValue(starTempID, out var dict);
|
return dict;
|
}
|
|
public static int GetID(int starTempID, int awardIndex)
|
{
|
var dict = GetAwardIndexDict(starTempID);
|
if (dict == null) return 0;
|
|
dict.TryGetValue(awardIndex, out var id);
|
return id;
|
}
|
|
public static ActHeroAppearStarConfig GetConfig(int starTempID, int awardIndex)
|
{
|
int id = GetID(starTempID, awardIndex);
|
return Get(id);
|
}
|
|
}
|