Exemple #1
0
        private int CompareDefault(ResHeroSkin l, ResHeroSkin r)
        {
            int num = 0;
            ResSkinPromotion skinPromotion = CSkinInfo.GetSkinPromotion(l.dwHeroID, l.dwSkinID);
            ResSkinPromotion promotion2    = CSkinInfo.GetSkinPromotion(r.dwHeroID, r.dwSkinID);
            ResHeroSkinShop  shop          = null;

            GameDataMgr.skinShopInfoDict.TryGetValue(l.dwID, out shop);
            ResHeroSkinShop shop2 = null;

            GameDataMgr.skinShopInfoDict.TryGetValue(r.dwID, out shop2);
            uint dwSortIndex = (shop == null) ? uint.MaxValue : shop.dwSortId;
            uint num3        = (shop2 == null) ? uint.MaxValue : shop2.dwSortId;

            if (skinPromotion != null)
            {
                dwSortIndex = skinPromotion.dwSortIndex;
            }
            if (promotion2 != null)
            {
                num3 = promotion2.dwSortIndex;
            }
            if (dwSortIndex < num3)
            {
                num = 1;
            }
            if (dwSortIndex > num3)
            {
                num = -1;
            }
            bool flag  = this.m_roleInfo.IsHaveHeroSkin(l.dwHeroID, l.dwSkinID, false);
            bool flag2 = this.m_roleInfo.IsHaveHeroSkin(r.dwHeroID, r.dwSkinID, false);

            if (flag && !flag2)
            {
                return(1);
            }
            if (!flag && flag2)
            {
                return(-1);
            }
            if ((skinPromotion == null) || (skinPromotion.bSortIndexOnly <= 0))
            {
                if ((promotion2 != null) && (promotion2.bSortIndexOnly > 0))
                {
                    return(num);
                }
                if (CSkinInfo.IsCanBuy(l.dwHeroID, l.dwSkinID) && !CSkinInfo.IsCanBuy(r.dwHeroID, r.dwSkinID))
                {
                    return(-1);
                }
                if (!CSkinInfo.IsCanBuy(l.dwHeroID, l.dwSkinID) && CSkinInfo.IsCanBuy(r.dwHeroID, r.dwSkinID))
                {
                    return(1);
                }
                if (this.m_roleInfo.IsHaveHero(l.dwHeroID, false) && !this.m_roleInfo.IsHaveHero(r.dwHeroID, false))
                {
                    return(-1);
                }
                if (!this.m_roleInfo.IsHaveHero(l.dwHeroID, false) && this.m_roleInfo.IsHaveHero(r.dwHeroID, false))
                {
                    return(1);
                }
            }
            return(num);
        }
Exemple #2
0
        private int CompareDefault(ResHeroSkin l, ResHeroSkin r)
        {
            int result = 0;
            ResSkinPromotion skinPromotion   = CSkinInfo.GetSkinPromotion(l.dwHeroID, l.dwSkinID);
            ResSkinPromotion skinPromotion2  = CSkinInfo.GetSkinPromotion(r.dwHeroID, r.dwSkinID);
            ResHeroSkinShop  resHeroSkinShop = null;

            GameDataMgr.skinShopInfoDict.TryGetValue(l.dwID, ref resHeroSkinShop);
            ResHeroSkinShop resHeroSkinShop2 = null;

            GameDataMgr.skinShopInfoDict.TryGetValue(r.dwID, ref resHeroSkinShop2);
            uint num  = (resHeroSkinShop == null) ? 4294967295u : resHeroSkinShop.dwSortId;
            uint num2 = (resHeroSkinShop2 == null) ? 4294967295u : resHeroSkinShop2.dwSortId;

            if (skinPromotion != null)
            {
                num = skinPromotion.dwSortIndex;
            }
            if (skinPromotion2 != null)
            {
                num2 = skinPromotion2.dwSortIndex;
            }
            if (resHeroSkinShop != null)
            {
                ResDT_RegisterSale_Info stRegisterSale = resHeroSkinShop.stRegisterSale;
                bool flag = CMallSystem.IsinRegisterSales(stRegisterSale);
                if (flag)
                {
                    num = stRegisterSale.dwSortID;
                }
            }
            if (resHeroSkinShop2 != null)
            {
                ResDT_RegisterSale_Info stRegisterSale2 = resHeroSkinShop2.stRegisterSale;
                bool flag2 = CMallSystem.IsinRegisterSales(stRegisterSale2);
                if (flag2)
                {
                    num2 = stRegisterSale2.dwSortID;
                }
            }
            if (num < num2)
            {
                result = 1;
            }
            if (num > num2)
            {
                result = -1;
            }
            bool flag3 = this.m_roleInfo.IsHaveHeroSkin(l.dwHeroID, l.dwSkinID, false);
            bool flag4 = this.m_roleInfo.IsHaveHeroSkin(r.dwHeroID, r.dwSkinID, false);

            if (flag3 && !flag4)
            {
                return(1);
            }
            if (!flag3 && flag4)
            {
                return(-1);
            }
            if ((skinPromotion != null && skinPromotion.bSortIndexOnly > 0) || (skinPromotion2 != null && skinPromotion2.bSortIndexOnly > 0))
            {
                return(result);
            }
            if (CSkinInfo.IsCanBuy(l.dwHeroID, l.dwSkinID) && !CSkinInfo.IsCanBuy(r.dwHeroID, r.dwSkinID))
            {
                return(-1);
            }
            if (!CSkinInfo.IsCanBuy(l.dwHeroID, l.dwSkinID) && CSkinInfo.IsCanBuy(r.dwHeroID, r.dwSkinID))
            {
                return(1);
            }
            if (this.m_roleInfo.IsHaveHero(l.dwHeroID, false) && !this.m_roleInfo.IsHaveHero(r.dwHeroID, false))
            {
                return(-1);
            }
            if (!this.m_roleInfo.IsHaveHero(l.dwHeroID, false) && this.m_roleInfo.IsHaveHero(r.dwHeroID, false))
            {
                return(1);
            }
            return(result);
        }