Exemplo n.º 1
0
 public override bool GetUrlElement()
 {
     m_UserId        = actionGetter.GetSession().UserId;
     m_RoomId        = (actionGetter.GetSession().User as RoomSessionUser).RoomId;
     m_RequestPacket = ProtoBufUtils.Deserialize <CREntityMove>((byte[])actionGetter.GetMessage());
     return(true);
 }
Exemplo n.º 2
0
 public override bool Verify(Message message)
 {
     m_Request           = message.Packet as CREntityMove;
     m_Response.SerialId = m_Request.SerialId;
     if (DateTime.UtcNow.Ticks - m_Room.StartTime < GameConfigs.GetInt("Room_Battle_Start_Protection_Time", 3) * TimeSpan.TicksPerSecond)
     {
         return(false);
     }
     if (!m_Request.IsKey && DateTime.UtcNow.Ticks - m_LastPushTime < m_PushInterval)
     {
         TraceLog.WriteError("too frequency");
         return(false);
     }
     if (m_Room.Players[message.Session.UserId].InBattleEntity != m_Request.EntityId)
     {
         TraceLog.WriteError("wrong entityId, true entity is:{0}, receive:{1}", m_Room.Players[message.Session.UserId].InBattleEntity, m_Request.EntityId);
         return(false);
     }
     TraceLog.WriteInfo("verify success");
     return(true);
 }