hch
3 天以前 1898a5f28dfffa7bbecf5d2bf024f20b8d0490e7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
using System.Collections.Generic;
 
public partial class ActSignAwardConfig : ConfigBase<int, ActSignAwardConfig>
{
    // 模板编号: 第X天从1开始 :配置ID
    private static Dictionary<int, Dictionary<int, int>> infoDict = new Dictionary<int, Dictionary<int, int>>();
    // 模板编号 第X天从1开始
    private static Dictionary<int, List<int>> sortDict = new Dictionary<int, List<int>>();
    protected override void OnConfigParseCompleted()
    {
        if (!infoDict.TryGetValue(TemplateID, out var dict))
        {
            dict = new Dictionary<int, int>();
            infoDict[TemplateID] = dict;
        }
        dict[DayNum] = ID;
    }
 
    private static void LoadSortList()
    {
        if (!sortDict.IsNullOrEmpty()) return;
        foreach (var kvp in infoDict)
        {
            int templateID = kvp.Key;
            List<int> list = new List<int>(kvp.Value.Keys);
            list.Sort();
            sortDict[templateID] = list;
        }
    }
    public static List<int> GetDayNumSortList(int templateID)
    {
        LoadSortList();
        sortDict.TryGetValue(templateID, out var list);
        return list;
    }
    public static Dictionary<int, int> 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);
    }
 
}