public void HandleData(ServerPacket _packetData) { int _packetLength = _packetData.ReadInt(); byte[] _packetBytes = _packetData.ReadBytes(_packetLength); ThreadManager.ExecuteOnMainThread(() => { using (ServerPacket _packet = new ServerPacket(_packetBytes)) { int _packetId = _packet.ReadInt(); Server.packetHandlers[_packetId](id, _packet); } }); }
private bool HandleData(byte[] _data) { int _packetLength = 0; receivedData.SetBytes(_data); if (receivedData.UnreadLength() >= 4) { _packetLength = receivedData.ReadInt(); if (_packetLength <= 0) { return(true); } } while (_packetLength > 0 && _packetLength <= receivedData.UnreadLength()) { byte[] _packetBytes = receivedData.ReadBytes(_packetLength); ThreadManager.ExecuteOnMainThread(() => { using (ServerPacket _packet = new ServerPacket(_packetBytes)) { int _packetId = _packet.ReadInt(); Server.packetHandlers[_packetId](id, _packet); } }); _packetLength = 0; if (receivedData.UnreadLength() >= 4) { _packetLength = receivedData.ReadInt(); if (_packetLength <= 0) { return(true); } } } if (_packetLength <= 1) { return(true); } return(false); }