using System.Collections.Generic; 
 | 
using System.Linq; 
 | 
using UnityEngine; 
 | 
  
 | 
public partial class MainLevelConfig : ConfigBase<int, MainLevelConfig> 
 | 
{ 
 | 
    static Dictionary<int, Dictionary<int, MainLevelConfig>> configDics = new Dictionary<int, Dictionary<int, MainLevelConfig>>(); 
 | 
  
 | 
    protected override void OnConfigParseCompleted() 
 | 
    { 
 | 
        Dictionary<int, MainLevelConfig> tempDic = null; 
 | 
        if (!configDics.TryGetValue(ChapterID, out tempDic)) 
 | 
        { 
 | 
            tempDic = new Dictionary<int, MainLevelConfig>(); 
 | 
            configDics.Add(ChapterID, tempDic); 
 | 
        } 
 | 
  
 | 
        tempDic[LevelNum] = this; 
 | 
    } 
 | 
  
 | 
    public static MainLevelConfig GetMainLevelConfig(int chapterID, int LevelNum) 
 | 
    { 
 | 
        Dictionary<int, MainLevelConfig> tempDic = null; 
 | 
        if (!configDics.TryGetValue(chapterID, out tempDic)) 
 | 
        { 
 | 
            return null; 
 | 
        } 
 | 
        MainLevelConfig config = null; 
 | 
        tempDic.TryGetValue(LevelNum, out config); 
 | 
        return config; 
 | 
    } 
 | 
  
 | 
    public static int GetwaveCount(MainLevelConfig config) 
 | 
    { 
 | 
        int[][] waveLineupLists = new int[][] 
 | 
        { 
 | 
            config.WaveLineupIDList1, 
 | 
            config.WaveLineupIDList2, 
 | 
            config.WaveLineupIDList3, 
 | 
            config.WaveLineupIDList4, 
 | 
            config.WaveLineupIDList5, 
 | 
            config.WaveLineupIDList6 
 | 
        }; 
 | 
  
 | 
        // 统计非空数组的数量 
 | 
        return waveLineupLists.Count(list => list.Length > 0); 
 | 
    } 
 | 
  
 | 
  
 | 
} 
 |