コード例 #1
0
        protected override void Run(WebPlayer webpy, JObject message)
        {
            var enterRoom_Res = new EnterRoom_Res();
            var enterRoom_Req = message.ToObject <EnterRoom_Req>();

            enterRoom_Res.Res = GameMainEntry.Instance.SiloClientModule.ITableRoomEntry.Join(enterRoom_Req.TableUser_Data).Result;
            if (enterRoom_Res.Res > 0)//加入房间成功
            {
                enterRoom_Res.TableRoomInfo = GameMainEntry.Instance.SiloClientModule.ITableRoomEntry.GetUserTableRoomInfo(enterRoom_Req.TableUser_Data.Id).Result;
            }
            webpy.SendAsync(Msg_Json.Create_Msg_Json(NetOpCode.EnterRoom_Res, enterRoom_Res));

            /*
             * var rpbv= webpy.GetIBehaviour<RoomPlayerBv>();
             * if(rpbv == null)
             * {
             *  //Log.Debug("没有加入房间");
             *  rpbv = new RoomPlayerBv();
             *  rpbv.RoomPlayer_Data = enterRoom_Req.RoomPlayer_Data;
             *  webpy.AddIBehaviour(rpbv);
             * }
             * else
             * {
             *  rpbv.RoomPlayer_Data = enterRoom_Req.RoomPlayer_Data;
             * }
             *
             * enterRoom_Res.Res = GameMainEntry.Instance.RoomModule.EnterRoom(webpy);
             * if (enterRoom_Res.Res > 0)
             * {
             *  var tr = GameMainEntry.Instance.RoomModule.GetTableRoom(rpbv.RoomId);
             *  enterRoom_Res.Ls_RoomPlayer_Data = tr.GetRoomPlayer_Data();
             * }
             */
        }
コード例 #2
0
        protected override void Run(WebPlayer webpy, JObject message)
        {
            var enterTeam_Res = new EnterTeam_Res();
            var enterTeam_Req = message.ToObject <EnterTeam_Req>();


            var tpbv = webpy.GetIBehaviour <TeamPlayerBv>();

            if (tpbv == null)
            {
                //Log.Debug("没有加入房间");
                tpbv = new TeamPlayerBv();
                tpbv.TeamPlayer_Data = enterTeam_Req.TeamPlayer_Data;
                webpy.AddIBehaviour(tpbv);
            }
            else
            {
                tpbv.TeamPlayer_Data = enterTeam_Req.TeamPlayer_Data;
            }

            enterTeam_Res.Res = GameMainEntry.Instance.TeamModule.EnterTeam(webpy);
            if (enterTeam_Res.Res > 0)
            {
                var tr = GameMainEntry.Instance.TeamModule.GetTeam(tpbv.TeamId);
                enterTeam_Res.Ls_TeamPlayer_Data = tr.GetTeamPlayer_Data();
                enterTeam_Res.TeamId             = tr.TeamId;
            }
            webpy.SendAsync(Msg_Json.Create_Msg_Json(NetOpCode.EnterTeam_Res, enterTeam_Res));
        }
コード例 #3
0
        protected override void Run(WebPlayer webpy, JObject message)
        {
            var rpbv = webpy.GetIBehaviour <RoomPlayerBv>();

            if (rpbv == null)
            {
                webpy.SendAsync(Msg_Json.Create_Msg_Json(NetOpCode.NeedEnterRoom_Msg, new NeedEnterRoom_Msg()));
                return;
            }
            var tr = GameMainEntry.Instance.RoomModule.GetTableRoom(rpbv.RoomId);

            if (tr == null)
            {
                Log.Debug("没有房间");
                webpy.SendAsync(Msg_Json.Create_Msg_Json(NetOpCode.NeedEnterRoom_Msg, new NeedEnterRoom_Msg()));
                return;
            }
            this.Run(webpy, rpbv, tr, message);
        }
コード例 #4
0
        protected override void Run(WebPlayer webpy, JObject message)
        {
            var tpbv = webpy.GetIBehaviour <TeamPlayerBv>();

            if (tpbv == null)
            {
                webpy.SendAsync(Msg_Json.Create_Msg_Json(NetOpCode.NeedTeam_Msg, new NeedEnterRoom_Msg()));
                return;
            }
            var team = GameMainEntry.Instance.TeamModule.GetTeam(tpbv.TeamId);

            if (team == null)
            {
                webpy.SendAsync(Msg_Json.Create_Msg_Json(NetOpCode.NeedTeam_Msg, new NeedEnterRoom_Msg()));
                return;
            }
            var matchStart_Res = new MatchStart_Res()
            {
                Res = -1
            };
            var matchStart_Req = message.ToObject <MatchStart_Req>();

            if (matchStart_Req.MatchingType == (int)EMatchingType.Matching_Friend)//好友对战
            {
                if (team.Dict_Rp.Count == GameConstant.FriendsBattlePlayerNub)
                {
                    var tr = GameMainEntry.Instance.RoomModule.GetAvailableTableRoom();
                    if (tr != null)
                    {
                        foreach (var vk in team.Dict_Rp)
                        {
                            var rpbv2 = vk.Value.GetIBehaviour <RoomPlayerBv>();
                            var tpbv2 = vk.Value.GetIBehaviour <TeamPlayerBv>();

                            tr.EnterRoom(vk.Value);
                        }
                    }
                }
                webpy.SendAsync(Msg_Json.Create_Msg_Json(NetOpCode.MatchStart_Res, matchStart_Res));
                return;
            }
        }
コード例 #5
0
ファイル: ExitTeam_Handler.cs プロジェクト: yymqwl/Barrage
        /*
         * protected override void Run(WebPlayer webpy, RoomPlayerBv rpb, TableRoom tr, JObject message)
         * {
         *
         *  var exitTeam_Res = new ExitTeam_Res() { Res = -1 };
         *  var exitTeam_Req = message.ToObject<ExitTeam_Req>();
         *  var tpbv = webpy.GetIBehaviour<TeamPlayerBv>();
         *  exitTeam_Res.Res = GameMainEntry.Instance.TeamModule.ExitRoom(webpy);
         *  webpy.SendAsync(Msg_Json.Create_Msg_Json(NetOpCode.ExitTeam_Res, exitTeam_Res));
         *
         * }*/
        protected override void Run(WebPlayer webpy, JObject message)
        {
            var exitTeam_Res = new ExitTeam_Res()
            {
                Res = -1
            };
            var exitTeam_Req = message.ToObject <ExitTeam_Req>();

            exitTeam_Res.Res = GameMainEntry.Instance.TeamModule.ExitRoom(webpy);
            webpy.SendAsync(Msg_Json.Create_Msg_Json(NetOpCode.ExitTeam_Res, exitTeam_Res));
        }
コード例 #6
0
        /*
         * protected override void Run(WebPlayer webpy, RoomPlayerBv rpb, TableRoom tr ,  JObject message)
         * {
         *  var exitRoom_Res = new ExitRoom_Res() { Res = -1 };
         *  var exitRoom_Req = message.ToObject<ExitRoom_Req>();
         *
         *  exitRoom_Res.Res =  GameMainEntry.Instance.SiloClientModule.ITableRoomEntry.Exit(exitRoom_Req.Id).Result;
         *
         *  webpy.SendAsync(Msg_Json.Create_Msg_Json(NetOpCode.ExitRoom_Res, exitRoom_Res));
         *
         *  var rpbv = webpy.GetIBehaviour<RoomPlayerBv>();
         *  exitRoom_Res.Res =  GameMainEntry.Instance.RoomModule.ExitRoom(webpy);
         *  webpy.SendAsync(Msg_Json.Create_Msg_Json(NetOpCode.ExitRoom_Res, exitRoom_Res));
         *
         * }*/

        protected override void Run(WebPlayer webpy, JObject message)
        {
            var exitRoom_Res = new ExitRoom_Res()
            {
                Res = -1
            };

            //var exitRoom_Req = message.ToObject<ExitRoom_Req>();

            exitRoom_Res.Res = GameMainEntry.Instance.SiloClientModule.ITableRoomEntry.Exit(webpy.Id).Result;
            webpy.SendAsync(Msg_Json.Create_Msg_Json(NetOpCode.ExitRoom_Res, exitRoom_Res));
        }
コード例 #7
0
 protected override void Run(WebPlayer webpy, RoomPlayerBv rpb, TableRoom tr, JObject message)
 {
     if (tr.RoomState == ERoomState.ERoom_InGame ||
         tr.RoomState == ERoomState.ERoom_GameOver)
     {
         GetNextFrame_Req getNextFrame_Req = message.ToObject <GetNextFrame_Req>();
         GetNextFrame_Res getNextFrame_Res = new GetNextFrame_Res();
         var tmp_fms = tr.ServerPlayer.PlayerRecoder.GetCurToEndFrame(getNextFrame_Req.CurFrameId);
         foreach (var fm in tmp_fms)
         {
             getNextFrame_Res.ListFrame.Add(fm);
         }
         webpy.SendAsync(Msg_Json.Create_Msg_Json(NetOpCode.GetNextFrame_Res, getNextFrame_Res));
     }
 }