コード例 #1
0
ファイル: Prison.cs プロジェクト: Lantnr/MyTest
        /// <summary>
        /// 推送玩家进入监狱
        /// </summary>
        public void PushmyEnterPrison(Int64 userid, tg_prison prison)
        {
            if (!Variable.OnlinePlayer.ContainsKey(userid))
            {
                return;
            }
            PushMyLeaveScene(userid);
            var key = string.Format("{0}_{1}", (int)ModuleNumber.SCENE, userid);

            if (!Variable.SCENCE.ContainsKey(key))
            {
                return;
            }
            var prisonscene = Variable.SCENCE[key].CloneEntity();

            GetPrisonPoint(prisonscene);
            key = string.Format("{0}_{1}", (int)ModuleNumber.PRISON, userid);
            Variable.SCENCE.AddOrUpdate(key, prisonscene, (m, n) => n);
            var date       = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 0, 0, 0);
            var doubledate = date.Ticks;
            var count      = tg_prison_messages.GetUserMessageCount(doubledate, userid); //今日留言次数
            var list       = GetPrisonOhters(userid);
            var aso        = BuildData((int)ResultType.SUCCESS, Convert.ToDouble(prison.prison_time), count, list);

            SendPv(userid, aso, (int)PrisonCommand.PUSH_NETER, (int)ModuleNumber.PRISON);
        }
コード例 #2
0
ファイル: Prison.cs プロジェクト: Lantnr/MyTest
        /// <summary>玩家进入监狱 </summary>
        public void PutInPrison(Int64 userid)
        {
            var prison = tg_prison.GetPrisonByUserId(userid);

            if (prison != null)
            {
                return;
            }
            var myprison = new tg_prison {
                user_id = userid
            };
            var user_extend = tg_user_extend.GetByUserId(userid);

            if (user_extend == null)
            {
                return;
            }
            if (!CheckEnterPrison(user_extend.steal_fail_count, userid))
            {
                return;
            }
            var now      = (DateTime.Now.Ticks - 621355968000000000) / 10000;
            var baserule = Variable.BASE_RULE.FirstOrDefault(q => q.id == "25003"); //入狱时间

            if (baserule == null)
            {
                return;
            }
            var basetime = Convert.ToInt64(baserule.value);

            myprison.prison_time = basetime * 1000 + now;
            myprison.Insert();
            NewTaskStart(basetime * 1000, userid);
            if (user_extend.steal_fail_count >= 2)
            {
                user_extend.steal_fail_count = 0;
                user_extend.Update();
            }
            if (!Variable.OnlinePlayer.ContainsKey(userid))
            {
                return;
            }
            var session = Variable.OnlinePlayer[userid] as TGGSession;

            if (session == null)
            {
                return;
            }
            session.Player.UserExtend = user_extend;
            PushmyEnterPrison(userid, myprison);
            PushEnterPrison(userid);//向监狱内玩家推送进入监狱
        }