예제 #1
0
        /// <summary> 获取玩家活动数据 </summary>
        // type:1 东军胜 2 西军胜 3 平
        private tg_activity_building GetEndData(BuildActivity.UserGoods ug, int type)
        {
            var wintype = 0;

            switch (type)
            {
            case 1: wintype = ug.camp == (int)CampType.East ? (int)ActivityRewardType.WIN : (int)ActivityRewardType.LOSE; break;

            case 2: wintype = ug.camp == (int)CampType.West ? (int)ActivityRewardType.WIN : (int)ActivityRewardType.LOSE; break;

            case 3: wintype = (int)ActivityRewardType.DRAW; break;       //平
            }
            var acgoods = new tg_activity_building()
            {
                endtime   = DateTime.Now.Ticks,
                fame      = ug.fame,
                makebuild = ug.totalbasebuild,
                wood      = ug.totalwood,
                torch     = ug.totaltorch,
                wintype   = type,
                user_id   = ug.user_id
            };
            var teamreward = Variable.BASE_BUILDING_REWARD.LastOrDefault(q => q.type == wintype && q.fame <= ug.fame); //活动团队奖励表

            if (teamreward == null)
            {
                return(acgoods);
            }
            acgoods.team_fame  = teamreward.fameReward;
            acgoods.team_money = teamreward.money;
            return(acgoods);
        }
예제 #2
0
 /// <summary> 城池耐久度减少 </summary>
 private ASObject DurabilityUpdate(Int64 userid, int camp, bool istrue, BuildActivity.UserGoods ac)
 {
     ac.torch -= Variable.Activity.BuildActivity.CostFire;
     if (camp == (int)CampType.West) //东军城池耐久度
     {
         if (Variable.Activity.BuildActivity.EastCityBlood == 0)
         {
             return(BuildData((int)ResultType.SUCCESS, istrue, ac, Variable.Activity.BuildActivity.EastCityBlood));
         }
         Variable.Activity.BuildActivity.EastCityBlood -= Variable.Activity.BuildActivity.ReduceBlood;
         if (Variable.Activity.BuildActivity.EastCityBlood < 0) //耐久度最小为0
         {
             Variable.Activity.BuildActivity.EastCityBlood = 0;
         }
     }
     else
     {
         if (Variable.Activity.BuildActivity.WestCityBlood == 0)
         {
             return(BuildData((int)ResultType.SUCCESS, istrue, ac, Variable.Activity.BuildActivity.WestCityBlood));
         }
         Variable.Activity.BuildActivity.WestCityBlood -= Variable.Activity.BuildActivity.ReduceBlood;
         if (Variable.Activity.BuildActivity.WestCityBlood < 0) //耐久度最小为0
         {
             Variable.Activity.BuildActivity.WestCityBlood = 0;
         }
     }
     Common.GetInstance().PushDurability(userid, camp == (int)CampType.East ? 2 : 1); //推送城池血量更新
     return(BuildData((int)ResultType.SUCCESS, istrue, ac, camp == (int)CampType.East ? Variable.Activity.BuildActivity.WestCityBlood :
                      Variable.Activity.BuildActivity.EastCityBlood));
 }
예제 #3
0
 /// <summary> 增加声望 </summary>
 public void AddFame(int fame, BuildActivity.UserGoods goods)
 {
     goods.fame += fame;
     if (goods.fame > Variable.Activity.BuildActivity.FameFull)
     {
         goods.fame = Variable.Activity.BuildActivity.FameFull;
     }
 }
예제 #4
0
파일: MAKE_BUILD.cs 프로젝트: Lantnr/MyTest
        /// <summary> 组装数据 </summary>
        private ASObject BuildData(int result, Boolean istrue, BuildActivity.UserGoods goods)
        {
            var dic = new Dictionary <string, object>()
            {
                { "result", result },
                { "type", istrue ? 1 : 0 },
                { "wood", goods == null?0: goods.wood },
                { "baseBuild", goods == null?0: goods.basebuild },
                { "fame", goods == null?0: goods.fame },
            };

            return(new ASObject(dic));
        }
예제 #5
0
        /// <summary> 组装数据 </summary>
        private ASObject BuildData(int result, Boolean istrue, BuildActivity.UserGoods goods, int durability)
        {
            var dic = new Dictionary <string, object>()
            {
                { "result", result },
                { "type", istrue ? 1 : 0 },
                { "durability", durability },
                { "torch", goods == null?0: goods.torch },
                { "fame", goods == null?0: goods.fame },
            };

            return(new ASObject(dic));
        }
예제 #6
0
파일: ENTER.cs 프로젝트: Lantnr/MyTest
        /// <summary>
        /// 将用户数据添加到全局
        /// </summary>
        /// <param name="userid"></param>
        /// <param name="camp"></param>
        /// <returns></returns>
        private BuildActivity.UserGoods AddUserGoods(Int64 userid, Int32 camp)
        {
            if (Variable.Activity.BuildActivity.userGoods.ContainsKey(userid))
            {
                return(Variable.Activity.BuildActivity.userGoods[userid]);
            }
            var ac = new BuildActivity.UserGoods
            {
                user_id = userid,
                camp    = camp
            };

            Variable.Activity.BuildActivity.userGoods.TryAdd(userid, ac);
            return(ac);
        }
예제 #7
0
파일: ENTER.cs 프로젝트: Lantnr/MyTest
        /// <summary> 组装返回数据 </summary>
        private ASObject BuildData(int result, IEnumerable <view_scene_user> otherplayers, BuildActivity.UserGoods goods)
        {
            var dic1 = new Dictionary <string, object>()
            {
                { "cityHp", Variable.Activity.BuildActivity.EastCityBlood },
                { "npcHp", Variable.Activity.BuildActivity.EastBoosBlood },
                //{"cityHp", Variable.Activity.BuildActivity.EastCityBlood}, //测试数据
                //{"npcHp",0},//测试数据
            };
            var dic2 = new Dictionary <string, object>()
            {
                { "cityHp", Variable.Activity.BuildActivity.WestCityBlood },
                { "npcHp", Variable.Activity.BuildActivity.WestBoosBlood },
                // {"npcHp",0}, //测试数据
            };
            var dic = new Dictionary <string, object>()
            {
                { "result", result },
                { "playerList", otherplayers.Any() ? Common.GetInstance().ConvertListASObject(otherplayers) : null },
                { "dataA", new ASObject(dic1) },
                { "dataB", new ASObject(dic2) },
                { "wood", goods.wood },
                { "torch", goods.torch },
                { "baseBuild", goods.basebuild },
                { "fame", goods.fame },
            };

            return(new ASObject(dic));
        }
예제 #8
0
파일: MAKE_BUILD.cs 프로젝트: Lantnr/MyTest
 /// <summary> 倒计时时间验证 </summary>
 private Boolean CheckTime(BuildActivity.UserGoods goods)
 {
     return(DateTime.Now >= goods.MakeBuildTime.AddSeconds(Variable.Activity.BuildActivity.MakeBuildTime));
 }