lcy
9 小时以前 02e13cfa81063db800cad02c8ba8932bfba2e6fe
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
58
59
60
61
62
63
64
65
66
67
68
using System.Collections.Generic;
using UnityEngine;
 
public partial class HeroLineupHaloConfig : ConfigBase<int, HeroLineupHaloConfig>
{
    // 国家 数量
    private static Dictionary<int, Dictionary<int, HeroLineupHaloConfig>> configDics = new Dictionary<int, Dictionary<int, HeroLineupHaloConfig>>();
 
    // 混搭阵型索引:Key=Countrys, Value={NeedHeroCount→Config}
    private static Dictionary<int, Dictionary<int, HeroLineupHaloConfig>> mixedConfigDics = new Dictionary<int, Dictionary<int, HeroLineupHaloConfig>>();
 
    protected override void OnConfigParseCompleted()
    {
        if (Country == 0 && Countrys > 0)
        {
            // 混搭阵型配置
            Dictionary<int, HeroLineupHaloConfig> tempDic = null;
            if (!mixedConfigDics.TryGetValue(Countrys, out tempDic))
            {
                tempDic = new Dictionary<int, HeroLineupHaloConfig>();
                mixedConfigDics.Add(Countrys, tempDic);
            }
            tempDic[NeedHeroCount] = this;
        }
        else
        {
            // 单国家配置
            Dictionary<int, HeroLineupHaloConfig> tempDic = null;
            if (!configDics.TryGetValue(Country, out tempDic))
            {
                tempDic = new Dictionary<int, HeroLineupHaloConfig>();
                configDics.Add(Country, tempDic);
            }
 
            tempDic[NeedHeroCount] = this;
        }
    }
 
    public static HeroLineupHaloConfig GetConfig(int country, int count)
    {
        if (!configDics.ContainsKey(country))
        {
            return null;
        }
        if (!configDics[country].ContainsKey(count))
        {
            return null;
        }
        return configDics[country][count];
    }
 
    /// <summary>
    /// 获取所有混搭配置
    /// </summary>
    public static Dictionary<int, Dictionary<int, HeroLineupHaloConfig>> GetAllMixedConfigs()
    {
        return mixedConfigDics;
    }
 
    public static Dictionary<int, HeroLineupHaloConfig> GetAttrsByCountry(int country)
    {
        Dictionary<int, HeroLineupHaloConfig> attrs;
        configDics.TryGetValue(country, out attrs);
 
        return attrs;
    }
 
}