/// <summary>
 /// 处理玩家的准备请求,成功则通过广播推送给全部玩家,失败则单独响应GetquestError消息
 /// </summary>
 /// <param name="session"></param>
 /// <param name="data"></param>
 private void _onReady(Session session, Ready data)
 {
     if (!LoginFilter(session, "游戏准备"))
     {
         return;
     }
     try
     {
         Room room = _searchRoomByID(data.RoomID);
         if (room != default(Room))
         {
             Room.PlayerInfo playerInfo = Room.SearchInfoByUID(session.UID, room);
             if (playerInfo != default(Room.PlayerInfo))
             {
                 room.Gamemanager.Ready(playerInfo.Side, data.CheLayout);
                 return;
             }
         }
         _connector.SendDataAsync(session, new GetquestError()
         {
             ClientMsgType = "Ready", ErrorInfo = "找不到该房间"
         });
     }
     catch (GameManagerException e)
     {
         _connector.SendDataAsync(session, new GetquestError()
         {
             ClientMsgType = "Ready", ErrorInfo = e.Message
         });
         //log....
     }
 }
 /// <summary>
 /// 寻找玩家所在房间,输出该房间的引用和该玩家在房间中的信息。
 ///若该玩家不在房间中,则返回响应
 /// </summary>
 /// <param name="session"></param>
 /// <param name="room"></param>
 /// <param name="playerInfo"></param>
 private bool _roomFilter(Session session, UInt64 roomid, out Room room, out Room.PlayerInfo playerInfo)
 {
     room = _searchRoomByID(roomid);
     if (room != default(Room))
     {
         playerInfo = Room.SearchInfoByUID(session.UID, room);
         if (playerInfo != default(Room.PlayerInfo))
         {
             return(true);
         }
     }
     //玩家不在房间中
     _connector.SendDataAsync(session, new GetquestError()
     {
         ClientMsgType = string.Empty, ErrorInfo = "玩家不在指定的房间中"
     });
     room       = default(Room);
     playerInfo = default(Room.PlayerInfo);
     return(false);
 }