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); }
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); }