示例#1
0
        private int CompareCoupons(ResHeroCfgInfo l, ResHeroCfgInfo r)
        {
            ResHeroPromotion resPromotion     = CHeroDataFactory.CreateHeroData(l.dwCfgID).promotion();
            ResHeroPromotion promotion2       = CHeroDataFactory.CreateHeroData(r.dwCfgID).promotion();
            stPayInfoSet     payInfoSetOfGood = CMallSystem.GetPayInfoSetOfGood(l, resPromotion);
            stPayInfoSet     set2             = CMallSystem.GetPayInfoSetOfGood(r, promotion2);
            uint             maxValue         = uint.MaxValue;
            uint             payValue         = uint.MaxValue;

            for (int i = 0; i < payInfoSetOfGood.m_payInfoCount; i++)
            {
                if ((((payInfoSetOfGood.m_payInfos[i].m_payType == enPayType.Diamond) || (payInfoSetOfGood.m_payInfos[i].m_payType == enPayType.DianQuan)) || (payInfoSetOfGood.m_payInfos[i].m_payType == enPayType.DiamondAndDianQuan)) && (payInfoSetOfGood.m_payInfos[i].m_payValue < maxValue))
                {
                    maxValue = payInfoSetOfGood.m_payInfos[i].m_payValue;
                }
            }
            for (int j = 0; j < set2.m_payInfoCount; j++)
            {
                if ((((set2.m_payInfos[j].m_payType == enPayType.Diamond) || (set2.m_payInfos[j].m_payType == enPayType.DianQuan)) || (set2.m_payInfos[j].m_payType == enPayType.DiamondAndDianQuan)) && (set2.m_payInfos[j].m_payValue < payValue))
                {
                    payValue = set2.m_payInfos[j].m_payValue;
                }
            }
            if ((maxValue == uint.MaxValue) && this.IsDesc())
            {
                maxValue = 0;
            }
            if ((payValue == uint.MaxValue) && this.IsDesc())
            {
                payValue = 0;
            }
            return(maxValue.CompareTo(payValue));
        }
示例#2
0
        public static bool IsCanBuy(uint heroId, uint skinId)
        {
            ResHeroSkin heroSkin = CSkinInfo.GetHeroSkin(heroId, skinId);

            if (heroSkin == null)
            {
                return(false);
            }
            if (!GameDataMgr.IsSkinAvailableAtShop(heroSkin.dwID))
            {
                return(false);
            }
            ResSkinPromotion resSkinPromotion = new ResSkinPromotion();
            stPayInfoSet     stPayInfoSet     = default(stPayInfoSet);

            resSkinPromotion = CSkinInfo.GetSkinPromotion(heroSkin.dwID);
            if (resSkinPromotion != null)
            {
                stPayInfoSet = CMallSystem.GetPayInfoSetOfGood(false, 0u, resSkinPromotion.bIsBuyCoupons > 0, resSkinPromotion.dwBuyCoupons, resSkinPromotion.bIsBuyDiamond > 0, resSkinPromotion.dwBuyDiamond, 10000u);
            }
            else
            {
                stPayInfoSet = CMallSystem.GetPayInfoSetOfGood(heroSkin);
            }
            return(stPayInfoSet.m_payInfoCount > 0);
        }
示例#3
0
        public static stPayInfoSet GetSkinPayInfoSet(uint heroId, uint skinId)
        {
            ResSkinPromotion resPromotion = new ResSkinPromotion();
            stPayInfoSet     stPayInfoSet = default(stPayInfoSet);

            resPromotion = CSkinInfo.GetSkinPromotion(heroId, skinId);
            ResHeroSkin heroSkin = CSkinInfo.GetHeroSkin(heroId, skinId);

            return(CMallSystem.GetPayInfoSetOfGood(heroSkin, resPromotion));
        }
示例#4
0
        private int CompareCoin(ResHeroCfgInfo l, ResHeroCfgInfo r)
        {
            ResHeroPromotion resPromotion = CHeroDataFactory.CreateHeroData(l.dwCfgID).promotion();
            ResHeroPromotion promotion2   = CHeroDataFactory.CreateHeroData(r.dwCfgID).promotion();
            ResHeroShop      shop         = null;
            ResHeroShop      shop2        = null;

            GameDataMgr.heroShopInfoDict.TryGetValue(l.dwCfgID, out shop);
            GameDataMgr.heroShopInfoDict.TryGetValue(r.dwCfgID, out shop2);
            stPayInfoSet payInfoSetOfGood = CMallSystem.GetPayInfoSetOfGood(l, resPromotion);
            stPayInfoSet set2             = CMallSystem.GetPayInfoSetOfGood(r, promotion2);
            uint         maxValue         = uint.MaxValue;
            uint         payValue         = uint.MaxValue;

            for (int i = 0; i < payInfoSetOfGood.m_payInfoCount; i++)
            {
                if ((payInfoSetOfGood.m_payInfos[i].m_payType == enPayType.GoldCoin) && (payInfoSetOfGood.m_payInfos[i].m_payValue <= maxValue))
                {
                    maxValue = payInfoSetOfGood.m_payInfos[i].m_payValue;
                }
            }
            for (int j = 0; j < set2.m_payInfoCount; j++)
            {
                if ((set2.m_payInfos[j].m_payType == enPayType.GoldCoin) && (set2.m_payInfos[j].m_payValue <= payValue))
                {
                    payValue = set2.m_payInfos[j].m_payValue;
                }
            }
            if ((maxValue == uint.MaxValue) && this.IsDesc())
            {
                maxValue = 0;
            }
            if ((payValue == uint.MaxValue) && this.IsDesc())
            {
                payValue = 0;
            }
            return(maxValue.CompareTo(payValue));
        }