コード例 #1
0
        private ErrorCode SynUserAllHeroList()
        {
            GSToGC.NotifyCSHeroList msg     = new GSToGC.NotifyCSHeroList();
            List <HeroListStruct>   heroVec = new List <HeroListStruct>();

            this.GetHeroVec(heroVec);
            foreach (HeroListStruct heroListStruct in heroVec)
            {
                GSToGC.NotifyCSHeroList.Types.HeroListCfg pCfg = new GSToGC.NotifyCSHeroList.Types.HeroListCfg();
                HeroBuyCfg heroBuyCfg = CS.instance.csCfg.GetHeroClientMatchCfg(heroListStruct.heroid);
                if (heroBuyCfg == null)
                {
                    continue;
                }

                if (heroListStruct.expiredTime <= 0 && heroListStruct.expiredTime != -1 && heroListStruct.ifFree != true)
                {
                    continue;
                }

                pCfg.Heroid      = heroBuyCfg.un32CommondityID;
                pCfg.ExpiredTime = heroListStruct.expiredTime;
                pCfg.IfFree      = heroListStruct.ifFree;
                msg.Herocfg.Add(pCfg);
            }
            return(this.PostMsgToGC(msg, ( int )GSToGC.MsgID.EMsgToGcfromGsNotifyHeroList));
        }
コード例 #2
0
        private bool GetHeroVec(List <HeroListStruct> heroVec)
        {
            foreach (KeyValuePair <uint, UserHeroDBData> kv in this.userDbData.heroListMap)
            {
                HeroListStruct sHeroListStruct = new HeroListStruct(kv.Key, kv.Value.endTime, false);
                if (sHeroListStruct.expiredTime != -1)
                {
                    sHeroListStruct.expiredTime = kv.Value.endTime + kv.Value.buyTime - TimeUtils.utcTime;
                }
                heroVec.Add(sHeroListStruct);
            }

            foreach (KeyValuePair <uint, HeroBuyCfg> kv in CS.instance.csCfg.heroBuyCfgMap)
            {
                HeroBuyCfg pCfg = kv.Value;
                if (!pCfg.bIfShowInShop)
                {
                    continue;
                }
                foreach (ConsumeStruct consumeStruct in pCfg.consumeList)
                {
                    if (consumeStruct.type == ConsumeType.Free && kv.Value.un32HeroID > 0)
                    {
                        HeroListStruct sHeroListStruct = new HeroListStruct(kv.Value.un32HeroID, 0, true);
                        heroVec.Add(sHeroListStruct);
                    }
                }
            }
            return(true);
        }
コード例 #3
0
        private ErrorCode SynCommidityCfgInfo()
        {
            GSToGC.GoodsBuyCfgInfo msg = new GSToGC.GoodsBuyCfgInfo();
            foreach (KeyValuePair <uint, HeroBuyCfg> kv in CS.instance.csCfg.heroBuyCfgMap)
            {
                HeroBuyCfg pCfg = kv.Value;
                if (!pCfg.bIfShowInShop)
                {
                    continue;
                }
                GSToGC.GoodsCfgInfo goodsCfgInfo = new GSToGC.GoodsCfgInfo {
                    Goodid = ( int )kv.Key
                };
                foreach (ConsumeStruct consumeStruct in pCfg.consumeList)
                {
                    GSToGC.GoodsCfgInfo.Types.Consume pConsume =
                        new GSToGC.GoodsCfgInfo.Types.Consume
                    {
                        Consumetype = ( int )consumeStruct.type,
                        Price       = consumeStruct.price
                    };
                    goodsCfgInfo.Consume.Add(pConsume);
                }

                goodsCfgInfo.CfgType = GSToGC.GoodsCfgInfo.Types.CfgType.Common;
                msg.Info.Add(goodsCfgInfo);
            }

            foreach (KeyValuePair <uint, RunesCfg> kv in CS.instance.csCfg.runesCfgMap)
            {
                RunesCfg pCfg = kv.Value;
                if (!pCfg.bIfShowInShop)
                {
                    continue;
                }
                GSToGC.GoodsCfgInfo goodsCfgInfo = new GSToGC.GoodsCfgInfo {
                    Goodid = ( int )kv.Key
                };
                foreach (ConsumeStruct consumeStruct in pCfg.sConsumeList)
                {
                    GSToGC.GoodsCfgInfo.Types.Consume pConsume =
                        new GSToGC.GoodsCfgInfo.Types.Consume
                    {
                        Consumetype = ( int )consumeStruct.type,
                        Price       = consumeStruct.price
                    };
                    goodsCfgInfo.Consume.Add(pConsume);
                }

                goodsCfgInfo.CfgType = (GSToGC.GoodsCfgInfo.Types.CfgType.Common);
                msg.Info.Add(goodsCfgInfo);
            }

            foreach (KeyValuePair <uint, DiscountCfg> kv in CS.instance.csCfg.discountCfgMap)
            {
                DiscountCfg         pCfg          = kv.Value;
                GSToGC.GoodsCfgInfo sGoodsCfgInfo = new GSToGC.GoodsCfgInfo {
                    Goodid = ( int )kv.Key
                };
                foreach (ConsumeStruct consumeStruct in pCfg.sConsumeList)
                {
                    GSToGC.GoodsCfgInfo.Types.Consume pConsume =
                        new GSToGC.GoodsCfgInfo.Types.Consume
                    {
                        Consumetype = ( int )consumeStruct.type,
                        Price       = consumeStruct.price
                    };
                    sGoodsCfgInfo.Consume.Add(pConsume);
                }

                sGoodsCfgInfo.CfgType = (GSToGC.GoodsCfgInfo.Types.CfgType.Discount);
                msg.Info.Add(sGoodsCfgInfo);
            }

            foreach (uint newGoodsCfg in CS.instance.csCfg.newGoodsCfgVec)
            {
                GSToGC.GoodsCfgInfo goodsCfgInfo = new GSToGC.GoodsCfgInfo
                {
                    Goodid  = ( int )newGoodsCfg,
                    CfgType = GSToGC.GoodsCfgInfo.Types.CfgType.New
                };
                msg.Info.Add(goodsCfgInfo);
            }

            foreach (uint hotGoodsCfg in CS.instance.csCfg.hotGoodsCfgVec)
            {
                GSToGC.GoodsCfgInfo goodsCfgInfo = new GSToGC.GoodsCfgInfo
                {
                    Goodid  = ( int )hotGoodsCfg,
                    CfgType = GSToGC.GoodsCfgInfo.Types.CfgType.Hot
                };
                msg.Info.Add(goodsCfgInfo);
            }

            CS.instance.PostMsgToGC(this.userNetInfo, msg, ( int )GSToGC.MsgID.EMsgToGcfromGsNotifyGoodsCfgInfo);
            return(ErrorCode.Success);
        }