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