private void HandleData(byte[] _data) { using (Packet _packet = new Packet(_data)) { int _packetLength = _packet.ReadInt(); _data = _packet.ReadBytes(_packetLength); } ThreadMananager.ExecuteOnMainThread(() => { using (Packet _packet = new Packet(_data)) { int _packetid = _packet.ReadInt(); packetHandlers[_packetid](_packet); } }); }
private bool HandleData(byte[] data) { int _packetLenght = 0; packet.SetBytes(data); if (packet.UnreadLength() >= 4) { _packetLenght = packet.ReadInt(); if (_packetLenght <= 0) { return(true); } } while (_packetLenght > 0 && _packetLenght <= packet.UnreadLength()) { byte[] _packetBytes = packet.ReadBytes(_packetLenght); ThreadMananager.ExecuteOnMainThread(() => { using (Packet packet = new Packet(_packetBytes)) { int _packetID = packet.ReadInt(); packetHandlers[_packetID](packet); } }); _packetLenght = 0; if (packet.UnreadLength() >= 4) { _packetLenght = packet.ReadInt(); if (_packetLenght <= 0) { return(true); } } } if (_packetLenght <= 1) { return(true); } return(false); }