private void GetHeroRcmdSymbolList()
 {
     if (!this.m_cfgHeroRcmdSymbolList.TryGetValue(this.m_curHeroId, out this.m_rcmdSymbolList))
     {
         ResHeroCfgInfo dataByKey = GameDataMgr.heroDatabin.GetDataByKey(this.m_curHeroId);
         if (dataByKey == null)
         {
             DebugHelper.Assert(false, "GetHeroRcmdSymbolList heroCfgInfo is null heroId = " + this.m_curHeroId);
         }
         else
         {
             List <uint>[] listArray = new List <uint> [CSymbolInfo.s_maxSymbolLevel];
             HashSet <object> .Enumerator enumerator = GameDataMgr.symbolRcmdDatabin.GetDataByKey(dataByKey.dwSymbolRcmdID).GetEnumerator();
             while (enumerator.MoveNext())
             {
                 ResSymbolRcmd current = (ResSymbolRcmd)enumerator.Current;
                 if (listArray[current.wSymbolLvl - 1] == null)
                 {
                     listArray[current.wSymbolLvl - 1] = new List <uint>();
                 }
                 for (int i = 0; i < current.SymbolID.Length; i++)
                 {
                     if (current.SymbolID[i] > 0)
                     {
                         listArray[current.wSymbolLvl - 1].Add(current.SymbolID[i]);
                     }
                 }
             }
             this.m_cfgHeroRcmdSymbolList.Add(this.m_curHeroId, listArray);
             this.m_rcmdSymbolList = listArray;
         }
     }
 }
Esempio n. 2
0
        private void GetHeroRcmdSymbolList()
        {
            if (this.m_cfgHeroRcmdSymbolList.TryGetValue(this.m_curHeroId, ref this.m_rcmdSymbolList))
            {
                return;
            }
            ResHeroCfgInfo dataByKey = GameDataMgr.heroDatabin.GetDataByKey(this.m_curHeroId);

            if (dataByKey == null)
            {
                DebugHelper.Assert(false, "GetHeroRcmdSymbolList heroCfgInfo is null heroId = " + this.m_curHeroId);
                return;
            }
            List <uint>[]    array      = new List <uint> [CSymbolInfo.s_maxSymbolLevel];
            HashSet <object> dataByKey2 = GameDataMgr.symbolRcmdDatabin.GetDataByKey(dataByKey.dwSymbolRcmdID);

            HashSet <object> .Enumerator enumerator = dataByKey2.GetEnumerator();
            while (enumerator.MoveNext())
            {
                ResSymbolRcmd resSymbolRcmd = (ResSymbolRcmd)enumerator.get_Current();
                if (array[(int)(resSymbolRcmd.wSymbolLvl - 1)] == null)
                {
                    array[(int)(resSymbolRcmd.wSymbolLvl - 1)] = new List <uint>();
                }
                for (int i = 0; i < resSymbolRcmd.SymbolID.Length; i++)
                {
                    if (resSymbolRcmd.SymbolID[i] > 0u)
                    {
                        array[(int)(resSymbolRcmd.wSymbolLvl - 1)].Add(resSymbolRcmd.SymbolID[i]);
                    }
                }
            }
            this.m_cfgHeroRcmdSymbolList.Add(this.m_curHeroId, array);
            this.m_rcmdSymbolList = array;
        }