Esempio n. 1
0
        public static ListView <IHeroData> GetHostHeroList(bool isIncludeValidExperienceHero, CMallSortHelper.HeroViewSortType sortType = CMallSortHelper.HeroViewSortType.Name)
        {
            ListView <IHeroData> listView       = new ListView <IHeroData>();
            CRoleInfo            masterRoleInfo = Singleton <CRoleInfoManager> .GetInstance().GetMasterRoleInfo();

            if (masterRoleInfo == null)
            {
                return(listView);
            }
            DictionaryView <uint, CHeroInfo> .Enumerator enumerator = masterRoleInfo.GetHeroInfoDic().GetEnumerator();
            while (enumerator.MoveNext())
            {
                if (isIncludeValidExperienceHero)
                {
                    CRoleInfo arg_41_0 = masterRoleInfo;
                    KeyValuePair <uint, CHeroInfo> current = enumerator.get_Current();
                    if (arg_41_0.IsOwnHero(current.get_Key()))
                    {
                        goto IL_66;
                    }
                    CRoleInfo arg_5C_0 = masterRoleInfo;
                    KeyValuePair <uint, CHeroInfo> current2 = enumerator.get_Current();
                    if (arg_5C_0.IsValidExperienceHero(current2.get_Key()))
                    {
                        goto IL_66;
                    }
                    continue;
IL_66:
                    ListView <IHeroData> arg_7C_0           = listView;
                    KeyValuePair <uint, CHeroInfo> current3 = enumerator.get_Current();
                    arg_7C_0.Add(CHeroDataFactory.CreateHeroData(current3.get_Key()));
                }
                else
                {
                    CRoleInfo arg_97_0 = masterRoleInfo;
                    KeyValuePair <uint, CHeroInfo> current4 = enumerator.get_Current();
                    if (arg_97_0.IsOwnHero(current4.get_Key()))
                    {
                        ListView <IHeroData>           arg_B7_0 = listView;
                        KeyValuePair <uint, CHeroInfo> current5 = enumerator.get_Current();
                        arg_B7_0.Add(CHeroDataFactory.CreateHeroData(current5.get_Key()));
                    }
                }
            }
            if (CSysDynamicBlock.bLobbyEntryBlocked)
            {
                for (int i = listView.get_Count() - 1; i >= 0; i--)
                {
                    IHeroData heroData = listView.get_Item(i);
                    if (heroData.heroCfgInfo.bIOSHide > 0)
                    {
                        listView.Remove(heroData);
                    }
                }
            }
            CHeroOverviewSystem.SortHeroList(ref listView, sortType, false);
            return(listView);
        }
        public static ListView <IHeroData> GetTrainingHeroList(CMallSortHelper.HeroViewSortType sortType = CMallSortHelper.HeroViewSortType.Name)
        {
            ListView <IHeroData> listView       = new ListView <IHeroData>();
            List <uint>          list           = new List <uint>();
            CRoleInfo            masterRoleInfo = Singleton <CRoleInfoManager> .GetInstance().GetMasterRoleInfo();

            if (masterRoleInfo == null)
            {
                return(listView);
            }
            DictionaryView <uint, CHeroInfo> .Enumerator enumerator = masterRoleInfo.GetHeroInfoDic().GetEnumerator();
            while (enumerator.MoveNext())
            {
                KeyValuePair <uint, CHeroInfo> current = enumerator.Current;
                if ((current.get_Value().MaskBits & 2u) > 0u)
                {
                    ListView <IHeroData>           listView2 = listView;
                    KeyValuePair <uint, CHeroInfo> current2  = enumerator.Current;
                    listView2.Add(CHeroDataFactory.CreateHeroData(current2.get_Key()));
                    List <uint> list2 = list;
                    KeyValuePair <uint, CHeroInfo> current3 = enumerator.Current;
                    list2.Add(current3.get_Key());
                }
            }
            for (int i = 0; i < masterRoleInfo.freeHeroList.get_Count(); i++)
            {
                if (!masterRoleInfo.GetHeroInfoDic().ContainsKey(masterRoleInfo.freeHeroList.get_Item(i).dwFreeHeroID))
                {
                    listView.Add(CHeroDataFactory.CreateHeroData(masterRoleInfo.freeHeroList.get_Item(i).dwFreeHeroID));
                    list.Add(masterRoleInfo.freeHeroList.get_Item(i).dwFreeHeroID);
                }
            }
            ListView <ResHeroCfgInfo> allHeroList = CHeroDataFactory.GetAllHeroList();

            for (int j = 0; j < allHeroList.Count; j++)
            {
                if (allHeroList[j].bIsTrainUse == 1 && !list.Contains(allHeroList[j].dwCfgID))
                {
                    listView.Add(CHeroDataFactory.CreateHeroData(allHeroList[j].dwCfgID));
                }
            }
            if (CSysDynamicBlock.bLobbyEntryBlocked)
            {
                for (int k = listView.Count - 1; k >= 0; k--)
                {
                    IHeroData heroData = listView[k];
                    if (heroData.heroCfgInfo.bIOSHide > 0)
                    {
                        listView.Remove(heroData);
                    }
                }
            }
            CHeroOverviewSystem.SortHeroList(ref listView, sortType, false);
            return(listView);
        }
Esempio n. 3
0
        public static ListView <IHeroData> GetPvPHeroList(CMallSortHelper.HeroViewSortType sortType = CMallSortHelper.HeroViewSortType.Name)
        {
            ListView <IHeroData> listView       = new ListView <IHeroData>();
            CRoleInfo            masterRoleInfo = Singleton <CRoleInfoManager> .GetInstance().GetMasterRoleInfo();

            if (masterRoleInfo == null)
            {
                return(listView);
            }
            DictionaryView <uint, CHeroInfo> .Enumerator enumerator = masterRoleInfo.GetHeroInfoDic().GetEnumerator();
            while (enumerator.MoveNext())
            {
                KeyValuePair <uint, CHeroInfo> current = enumerator.get_Current();
                if ((current.get_Value().MaskBits & 2u) > 0u)
                {
                    ListView <IHeroData>           arg_5D_0 = listView;
                    KeyValuePair <uint, CHeroInfo> current2 = enumerator.get_Current();
                    arg_5D_0.Add(CHeroDataFactory.CreateHeroData(current2.get_Key()));
                }
            }
            for (int i = 0; i < masterRoleInfo.freeHeroList.get_Count(); i++)
            {
                if (!masterRoleInfo.GetHeroInfoDic().ContainsKey(masterRoleInfo.freeHeroList.get_Item(i).dwFreeHeroID))
                {
                    listView.Add(CHeroDataFactory.CreateHeroData(masterRoleInfo.freeHeroList.get_Item(i).dwFreeHeroID));
                }
            }
            if (CSysDynamicBlock.bLobbyEntryBlocked)
            {
                for (int j = listView.get_Count() - 1; j >= 0; j--)
                {
                    IHeroData heroData = listView.get_Item(j);
                    if (heroData.heroCfgInfo.bIOSHide > 0)
                    {
                        listView.Remove(heroData);
                    }
                }
            }
            CHeroOverviewSystem.SortHeroList(ref listView, sortType, false);
            return(listView);
        }