Exemplo n.º 1
0
        /// <summary>
        /// 检索目标数量
        /// </summary>
        /// <param name="taskInfo"></param>
        /// <param name="plotNpcId"></param>
        /// <param name="currMonsterList"></param>
        /// <returns></returns>
        private static List <string> FindTargetMonsterNum(StoryTaskInfo taskInfo, int plotNpcId, string[] currMonsterList)
        {
            string[]      targetMonsterList    = taskInfo.TargetMonsterID.ToNotNullString().Split(',');
            string[]      targetMonsterNumList = ObjectExtend.ToNotNullString(taskInfo.TargetMonsterNum).Split(',');
            List <string> targetNumList        = new List <string>();
            int           index = 0;

            foreach (string monster in targetMonsterList)
            {
                int num = currMonsterList.Length > index?ObjectExtend.ToInt(currMonsterList[index]) : 0;

                int maxNum = targetMonsterNumList.Length > index?ObjectExtend.ToInt(targetMonsterNumList[index]) : 0;

                if (num < maxNum)
                {
                    var plotEmbattleList = new ConfigCacheSet <PlotEmbattleInfo>().FindAll(m => m.PlotNpcID == plotNpcId);
                    foreach (PlotEmbattleInfo plotEmbattle in plotEmbattleList)
                    {
                        if (plotEmbattle.MonsterID == ObjectExtend.ToInt(monster))
                        {
                            num += 1;
                        }
                    }
                    targetNumList.Add(num.ToString());
                }
                else
                {
                    targetNumList.Add(maxNum.ToString());
                }
                index++;
            }
            return(targetNumList);
        }
Exemplo n.º 2
0
 public override void BuildPacket()
 {
     this.PushIntoStack(heritageList.Count);
     foreach (var item in heritageList)
     {
         UserGeneral userGeneral = new GameDataCacheSet <UserGeneral>().FindKey(ContextUser.UserID, item.GeneralID);
         GeneralInfo general     = new ConfigCacheSet <GeneralInfo>().FindKey(item.GeneralID);
         DataStruct  dsItem      = new DataStruct();
         dsItem.PushIntoStack((short)item.Type);
         dsItem.PushIntoStack(userGeneral == null ? 0 : userGeneral.GeneralID);
         dsItem.PushIntoStack(userGeneral == null ? string.Empty : ObjectExtend.ToNotNullString(userGeneral.GeneralName));
         dsItem.PushIntoStack(general == null ? string.Empty : ObjectExtend.ToNotNullString(general.BattleHeadID));
         dsItem.PushIntoStack(item.GeneralLv);
         dsItem.PushIntoStack(item.PowerNum);
         dsItem.PushIntoStack(item.SoulNum);
         dsItem.PushIntoStack(item.IntellectNum);
         dsItem.PushIntoStack(userGeneral == null ? (short)0 : (short)userGeneral.GeneralQuality);
         this.PushIntoStack(dsItem);
     }
     this.PushIntoStack(opsInfoList.Count);
     foreach (var item in opsInfoList)
     {
         DataStruct dsItem = new DataStruct();
         dsItem.PushIntoStack(item.Type);
         dsItem.PushIntoStack(item.VipLv);
         dsItem.PushIntoStack(item.UseGold);
         dsItem.PushIntoStack(item.ItemID);
         dsItem.PushIntoStack(item.ItemNum);
         this.PushIntoStack(dsItem);
     }
     this.PushIntoStack(heritageName.ToNotNullString());
     this.PushIntoStack(heritageLv);
     this.PushIntoStack(disGeneralName.ToNotNullString());
 }
Exemplo n.º 3
0
        public override void BuildPacket()
        {
            PushIntoStack(ContextUser.CityID);
            PushIntoStack(ContextUser.PointX);
            PushIntoStack(ContextUser.PointY);
            PushIntoStack(generalID);
            PushIntoStack(guildID.ToNotNullString());
            PushIntoStack(ObjectExtend.ToNotNullString(ContextUser.NickName));
            PushIntoStack(genlv);
            PushIntoStack(careerID);
            PushIntoStack(sex);
            PushIntoStack(headID.ToNotNullString());
            PushIntoStack(ContextUser.GoldNum);
            PushIntoStack(ContextUser.GameCoin);
            PushIntoStack(lifeNum);
            PushIntoStack(lifeMaxNum);
            PushIntoStack((ContextUser.EnergyNum).ToShort());
            PushIntoStack(maxEnergyNum);
            PushIntoStack(userGeneralInfo == null ? 0 : userGeneralInfo.CurrExperience);
            PushIntoStack(escalateInfo == null ? 0 : escalateInfo.UpExperience);
            PushIntoStack((short)ContextUser.VipLv);
            PushIntoStack((short)ContextUser.CountryID);

            //加状态
            PushIntoStack(_itemLiveNum);
            PushIntoStack(_itemLiveMaxNum);
            PushIntoStack(_blessingList.Count);
            foreach (var blessing in _blessingList)
            {
                DataStruct dsItem = new DataStruct();
                dsItem.PushIntoStack(blessing.BlessingType);
                dsItem.PushIntoStack(blessing.BlessingNum);
                dsItem.PushIntoStack(blessing.PropDate);
                dsItem.PushIntoStack(string.Empty);
                dsItem.PushIntoStack(blessing.PropDesc.ToNotNullString());
                PushIntoStack(dsItem);
            }
            PushIntoStack((short)ContextUser.UserLocation);
            PushIntoStack(ContextUser.ExpNum);
            PushIntoStack((short)ContextUser.UserStatus);
            PushIntoStack(ContextUser.SweepPool == null ? 0 : ContextUser.SweepPool.PlotID);
            PushIntoStack(ContextUser.IsUseupItem ? (short)1 : (short)0);
            PushIntoStack(pictureID.ToNotNullString());
            PushIntoStack(pictureTime);
            PushIntoStack(demandGold);
            PushIntoStack(ContextUser.SurplusEnergy);
            PushIntoStack(isHelper);
            PushIntoStack(plotstatucID);
            PushIntoStack(mercenarySeq);
            PushIntoStack(cardUserID.ToNotNullString());
            PushIntoStack(0);
            this.PushIntoStack(battleNum);
            this.PushIntoStack(totalBattle);
            this.PushIntoStack(rstore);
            this.PushIntoStack(totalRstore);
            PushIntoStack(_honourNum);
            PushIntoStack(_nextHonourNum);
            PushIntoStack(ContextUser.CombatNum);
            PushIntoStack(_talPriority);
            PushIntoStack(ContextUser.IsLv ? 1.ToShort() : 0.ToShort());
            this.PushIntoStack(functionList.Count);
            foreach (UserFunction item in functionList)
            {
                DataStruct dsItem = new DataStruct();
                dsItem.PushIntoStack(item.FunEnum.ToShort());
                PushIntoStack(dsItem);
            }

            if (ContextUser.OpenFun != null && ContextUser.OpenFun.Count > 0)
            {
                var OpenFun = ContextUser.OpenFun;
                this.PushIntoStack(OpenFun.Count);
                foreach (UserFunction item in OpenFun)
                {
                    DataStruct dsItem = new DataStruct();
                    dsItem.PushIntoStack(item.FunEnum.ToShort());
                    PushIntoStack(dsItem);
                }
                ContextUser.OpenFun.Clear();
            }
            else
            {
                PushIntoStack(0);
            }

            PushIntoStack(ContextUser.WizardNum);
            // PushIntoStack(unReadCount);
            // 未读的信件数目
            PushIntoStack(unReadCount);
        }
Exemplo n.º 4
0
        public override void BuildPacket()
        {
            PushIntoStack(ObjectExtend.ToNotNullString(ContextUser.NickName));
            PushIntoStack(sportsName.ToNotNullString());
            PushIntoStack(ContextUser.ObtainNum);
            PushIntoStack(rankID);
            PushIntoStack(victoryNum);
            PushIntoStack(sportsReward == null ? 0 : sportsReward.RewardGoin);
            PushIntoStack(sportsReward == null ? 0 : sportsReward.RewardObtian);
            PushIntoStack(receiveDate);
            PushIntoStack(sportNum);
            PushIntoStack(codeTime);
            PushIntoStack(_userRankArray.Count);
            var userGeneralCacheSet = new PersonalCacheStruct <UserGeneral>();

            foreach (UserRank user in _userRankArray)
            {
                DataStruct dsItem = new DataStruct();
                dsItem.PushIntoStack(user.UserID.ToNotNullString());
                dsItem.PushIntoStack(user.NickName.ToNotNullString());
                dsItem.PushIntoStack(user.HeadID.ToNotNullString());
                dsItem.PushIntoStack(user.RankId);
                dsItem.PushIntoStack(user.UserLv);

                var embattleList = EmbattleHelper.CurrEmbattle(user.UserID, true);
                dsItem.PushIntoStack(embattleList.Count);
                foreach (var item in embattleList)
                {
                    var        userGenearl = userGeneralCacheSet.FindKey(item.UserID, item.GeneralID);
                    DataStruct dsItem1     = new DataStruct();
                    dsItem1.PushIntoStack(item.GeneralID);
                    dsItem1.PushIntoStack(userGenearl == null ? string.Empty : userGenearl.GeneralName.ToNotNullString());
                    dsItem1.PushIntoStack(userGenearl == null ? string.Empty : userGenearl.HeadID.ToNotNullString());
                    dsItem1.PushIntoStack(userGenearl == null ? 0 : userGenearl.GeneralQuality.ToInt());
                    dsItem1.PushIntoStack(userGenearl == null ? 0 : userGenearl.GeneralLv.ToInt());
                    dsItem.PushIntoStack(dsItem1);
                }

                SportsRewardInfo sportsInfo = new ShareCacheStruct <SportsRewardInfo>().FindKey(user.RankId);
                var embatList = EmbattleHelper.CurrEmbattle(user.UserID, false);
                dsItem.PushIntoStack(embatList.Count);
                dsItem.PushIntoStack(embattleList.Count);
                dsItem.PushIntoStack(sportsInfo == null ? 0 : sportsInfo.RewardObtian);
                PushIntoStack(dsItem);
            }

            int index = 0;

            PushIntoStack(_userCombatArray.Count);
            foreach (var usercombat in _userCombatArray)
            {
                short  iswin      = usercombat.IsWin ? (short)1 : (short)2;
                string userName   = string.Empty;
                string toUserName = string.Empty;
                if (usercombat.IsSelf)
                {
                    userName   = LanguageManager.GetLang().St5101_JingJiChangMingCheng;
                    toUserName = usercombat.ToUserName;
                }
                else
                {
                    userName   = usercombat.ToUserName;
                    toUserName = LanguageManager.GetLang().St5101_JingJiChangMingCheng;
                }
                DataStruct dsItem = new DataStruct();
                dsItem.PushIntoStack(MathUtils.ToNotNullString(usercombat.CombatDate.ToString("t")));
                dsItem.PushIntoStack(userName.ToNotNullString());
                dsItem.PushIntoStack(toUserName.ToNotNullString());
                dsItem.PushIntoStack(iswin);
                dsItem.PushIntoStack(usercombat.RankStatus.ToInt());
                dsItem.PushIntoStack(usercombat.TopID);
                dsItem.PushIntoStack(index.ToNotNullString());
                PushIntoStack(dsItem);

                index++;
            }


            string spoName = string.Empty;

            PushIntoStack(userRankArray.Count);
            foreach (UserRank rank in userRankArray)
            {
                spoName = UserHelper.SportTitleName(rank.ObtainNum);
                DataStruct dsItem = new DataStruct();
                dsItem.PushIntoStack(rank.RankId);
                dsItem.PushIntoStack(rank.UserID.ToNotNullString());
                dsItem.PushIntoStack(rank.NickName.ToNotNullString());
                dsItem.PushIntoStack(rank.UserLv);
                dsItem.PushIntoStack(rank.TotalCombatNum > 0 ? rank.TotalCombatNum : UserHelper.GetTotalCombatNum(rank.UserID));
                dsItem.PushIntoStack(spoName);
                dsItem.PushIntoStack(rank.VictoryNum);

                var embattleList = EmbattleHelper.CurrEmbattle(rank.UserID, true);
                dsItem.PushIntoStack(embattleList.Count);
                foreach (var item in embattleList)
                {
                    var        userGenearl = userGeneralCacheSet.FindKey(item.UserID, item.GeneralID);
                    DataStruct dsItem1     = new DataStruct();
                    dsItem1.PushIntoStack(item.GeneralID);
                    dsItem1.PushIntoStack(userGenearl == null ? string.Empty : userGenearl.GeneralName.ToNotNullString());
                    dsItem1.PushIntoStack(userGenearl == null ? string.Empty : userGenearl.HeadID.ToNotNullString());
                    dsItem1.PushIntoStack(userGenearl == null ? 0 : userGenearl.GeneralQuality.ToInt());
                    dsItem1.PushIntoStack(userGenearl == null ? 0 : userGenearl.GeneralLv.ToInt());
                    dsItem.PushIntoStack(dsItem1);
                }

                SportsRewardInfo sportsInfo = new ShareCacheStruct <SportsRewardInfo>().FindKey(rank.RankId);
                var embatList = EmbattleHelper.CurrEmbattle(rank.UserID, false);
                dsItem.PushIntoStack(embatList.Count);
                dsItem.PushIntoStack(embattleList.Count);
                dsItem.PushIntoStack(sportsInfo == null ? 0 : sportsInfo.RewardObtian);
                PushIntoStack(dsItem);
            }

            PushIntoStack(sportsIntegral);
        }