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);
        }
Exemple #2
0
        private void ResetHeroList()
        {
            this.m_heroList.Clear();
            ListView <ResHeroCfgInfo> allHeroList = CHeroDataFactory.GetAllHeroList();

            for (int i = 0; i < allHeroList.Count; i++)
            {
                if ((this.m_heroJobType == enHeroJobType.All) || (allHeroList[i].bJob == ((byte)this.m_heroJobType)))
                {
                    this.m_heroList.Add(allHeroList[i]);
                }
            }
        }
Exemple #3
0
        protected void FilterHeroData()
        {
            ListView <ResHeroCfgInfo> allHeroList = CHeroDataFactory.GetAllHeroList();

            for (int i = 0; i < allHeroList.Count; i++)
            {
                if ((this.m_selectHeroType == enHeroJobType.All) || (allHeroList[i].bJob == ((byte)this.m_selectHeroType)))
                {
                    IHeroData item = CHeroDataFactory.CreateHeroData(allHeroList[i].dwCfgID);
                    this.m_heroList.Add(item);
                }
            }
            SortHeroList(ref this.m_heroList);
        }
        private void ResetHeroList(enHeroJobType jobType, bool bOwn)
        {
            this.m_heroList.Clear();
            CRoleInfo masterRoleInfo = Singleton <CRoleInfoManager> .GetInstance().GetMasterRoleInfo();

            DebugHelper.Assert(masterRoleInfo != null, "CSymbolRcommendController ResetHeroList role is null");
            if (masterRoleInfo != null)
            {
                ListView <ResHeroCfgInfo> allHeroList = CHeroDataFactory.GetAllHeroList();
                for (int i = 0; i < allHeroList.Count; i++)
                {
                    if ((((jobType == enHeroJobType.All) || (allHeroList[i].bMainJob == ((byte)jobType))) || (allHeroList[i].bMinorJob == ((byte)jobType))) && (!bOwn || masterRoleInfo.IsHaveHero(allHeroList[i].dwCfgID, false)))
                    {
                        this.m_heroList.Add(allHeroList[i]);
                    }
                }
            }
        }
Exemple #5
0
        private void FilterHeroData(bool bOnlySort)
        {
            ListView <ResHeroCfgInfo> allHeroList = CHeroDataFactory.GetAllHeroList();

            if (!bOnlySort)
            {
                this.m_heroList.Clear();
                for (int i = 0; i < allHeroList.get_Count(); i++)
                {
                    if (this.m_selectHeroType == enHeroJobType.All || allHeroList.get_Item(i).bMainJob == (byte)this.m_selectHeroType || allHeroList.get_Item(i).bMinorJob == (byte)this.m_selectHeroType)
                    {
                        IHeroData heroData  = CHeroDataFactory.CreateHeroData(allHeroList.get_Item(i).dwCfgID);
                        CMallItem cMallItem = new CMallItem(heroData.cfgID, CMallItem.IconType.Normal);
                        if (this.m_ownFlag)
                        {
                            if (cMallItem.Owned(false))
                            {
                                this.m_heroList.Add(heroData);
                            }
                        }
                        else
                        {
                            this.m_heroList.Add(heroData);
                        }
                    }
                }
            }
            HeroViewSortImp heroViewSortImp = CMallSortHelper.CreateHeroViewSorter();

            if (heroViewSortImp != null)
            {
                heroViewSortImp.SetSortType(this.m_heroSortType);
                this.m_heroList.Sort(heroViewSortImp);
                if (this.m_bSortDesc)
                {
                    this.m_heroList.Reverse();
                }
            }
        }