public override byte[] Serialize() { var encoder = new RakEncoder(); encoder.Encode(TimeSinceStart); encoder.Encode(TimeSinceServerStart); return(encoder.Get()); }
public override byte[] Serialize() { var encoder = new RakEncoder(); encoder.Encode(EID); encoder.Encode(ID); return(encoder.Get()); }
public override byte[] Serialize() { var encoder = new RakEncoder(); encoder.Encode(Username); encoder.Encode(Message); return(encoder.Get()); }
public override byte[] Serialize() { RakEncoder encoder = new RakEncoder(); encoder.Encode((byte)Type); encoder.Encode(TimeSinceStart); encoder.Encode(Guid.Signed()); encoder.AddMagic(); encoder.Encode(Data); return(encoder.Get()); }
public override byte[] Serialize() { RakEncoder encoder = new RakEncoder(); encoder.Encode((byte)Type); encoder.AddMagic(); switch (Type) { case PacketType.OpenConnectionReply1: { encoder.Encode(ServerGuid.Signed()); encoder.Encode(UseEncryption); encoder.Encode(MtuSize); break; } case PacketType.OpenConnectionReply2: { encoder.Encode(ServerGuid.Signed()); encoder.Encode(ClientAddress); encoder.Encode(MtuSize); encoder.Encode(UseEncryption); break; } default: Debug.Assert(false, "Unreachable."); break; } return(encoder.Get()); }
public override byte[] Serialize() { var encoder = new RakEncoder(); encoder.Encode((int)Status); return(encoder.Get()); }
public override byte[] Serialize() { var encoder = new RakEncoder(); encoder.Encode(EID); encoder.Encode(Block); encoder.Encode(Stack); encoder.Encode(Meta); encoder.Encode(X); encoder.Encode(Y); encoder.Encode(Z); encoder.Encode(Yaw); encoder.Encode(Pitch); encoder.Encode(Roll); return(encoder.Get()); }
public override byte[] Serialize() { var encoder = new RakEncoder(); encoder.Encode(Flags); if (IsACKorNAK) { encoder.Encode(Count); encoder.Encode(MinEqualsMax); encoder.Encode(PacketMin); if (!MinEqualsMax) { encoder.Encode(PacketMax); } } else { encoder.Encode(SequenceNumber); foreach (var enclosing in Enclosing) { if (enclosing != null) { encoder.Encode(RakPacket.Create(enclosing)); } } } return(encoder.Get()); }
public override byte[] Serialize() { var encoder = new RakEncoder(); encoder.Encode(EID); encoder.Encode(Type); encoder.Encode(X); encoder.Encode(Y); encoder.Encode(Z); encoder.Encode(Yaw); encoder.Encode(Pitch); encoder.Encode((byte)0); // Metadata length encoder.Encode(Metadata); return(encoder.Get()); }
public override byte[] Serialize() { var encoder = new RakEncoder(); encoder.Encode(EID); encoder.Encode(Type); encoder.Encode(X); encoder.Encode(Y); encoder.Encode(Z); encoder.Encode(Did); if (Did > 0) { encoder.Encode(SpeedX); encoder.Encode(SpeedY); encoder.Encode(SpeedZ); } return(encoder.Get()); }
public override byte[] Serialize() { var encoder = new RakEncoder(); encoder.Encode(LevelSeed); encoder.Encode(Unknown); encoder.Encode(Gamemode); encoder.Encode(EntityID); encoder.Encode(PosX); encoder.Encode(PosY); encoder.Encode(PosZ); return encoder.Get(); }
public override byte[] Serialize() { var encoder = new RakEncoder(); encoder.Encode(Client); encoder.Encode((short)0); // SystemIndex encoder.Encode(new RakAddress(IPAddress.Loopback, 0)); for (int i = 0; i < 9; i++) { encoder.Encode(new RakAddress(IPAddress.Any, 0)); } encoder.Encode(TimeSinceStart); encoder.Encode(new RakTimestamp(0)); // another time since start return(encoder.Get()); }
public static byte[] Create(RakPacket packet) { var encoder = new RakEncoder(); var serialized = packet.Serialize(); encoder.Encode(packet.MessageFlags); encoder.Encode((short)((serialized.Length + 1) * 8)); if ((packet.MessageFlags & IS_RELIABLE) != 0) { encoder.Encode(packet.ReliableNum); } if ((packet.MessageFlags & IS_ORDERED) != 0) { encoder.Encode(packet.OrderingIndex); encoder.Encode(packet.OrderingChannel); } encoder.Encode((byte)packet.MessageID); encoder.Encode(serialized); return(encoder.Get()); }
public void Trivial_BigEndian() { Encoder.Encode(0xAABBCCDD.Signed()); Assert.AreEqual(Encoder.Get().Length, 4); Assert.AreEqual(Encoder.Get(), new byte[] { 0xAA, 0xBB, 0xCC, 0xDD }); }
public override byte[] Serialize() { var encoder = new RakEncoder(); encoder.Encode(ID); encoder.Encode(Username); encoder.Encode(EID); encoder.Encode(X); encoder.Encode(Y); encoder.Encode(Z); encoder.Encode(Yaw); encoder.Encode(Pitch); encoder.Encode(ItemID); encoder.Encode(ItemAuxValue); encoder.Encode((byte)Metadata.Length); // Metadata length encoder.Encode(Metadata); return(encoder.Get()); }