Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static implicit operator DataPacket(byte* ptr)
- {
- var packet = new DataPacket();
- packet.Id = *((uint*) (ptr + 4));
- packet.Data1 = *((uint*) (ptr + 8));
- packet.Data2 = *((uint*) (ptr + 12));
- packet.Timestamp = *((SystemTime*) (ptr + 16));
- packet.Action = *((DataAction*)(ptr + 20));
- packet.Direction = *((ushort*)(ptr + 22));
- packet.Data3 = *((uint*) (ptr + 24));
- packet.Data4 = *((uint*) (ptr + 28));
- packet.Data5 = *((uint*) (ptr + 32));
- packet.Data6 = *(ptr + 36);
- return packet;
- }
- public static implicit operator byte[](DataPacket packet)
- {
- var buffer = new byte[37 + 8];
- fixed (byte* ptr = buffer)
- {
- PacketBuilder.AppendHeader(ptr, buffer.Length, 10010);
- *((uint*) (ptr + 4)) = packet.Id;
- *((uint*) (ptr + 8)) = packet.Data1;
- *((uint*) (ptr + 12)) = packet.Data2;
- *((uint*)(ptr + 16)) = packet.Timestamp;
- *((DataAction*) (ptr + 20)) = packet.Action;
- *((ushort*)(ptr + 22)) = packet.Direction;
- *((uint*)(ptr + 24)) = packet.Data3;
- *((uint*) (ptr + 28)) = packet.Data4;
- *((uint*) (ptr + 32)) = packet.Data5;
- *(ptr + 36) = packet.Data6;
- }
- return buffer;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement