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); }
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); }