public static void Serialize(IMessageWriter writer, bool clear, IPEndPoint ipEndPoint) { if (clear) { writer.Clear(MessageType.Reliable); } writer.StartMessage(MessageFlags.Redirect); writer.Write(ipEndPoint.Address); writer.Write((ushort)ipEndPoint.Port); writer.EndMessage(); }
public static void Serialize(IMessageWriter writer, bool clear, int gameCode, int playerId) { if (clear) { writer.Clear(MessageType.Reliable); } writer.StartMessage(MessageFlags.WaitForHost); writer.Write(gameCode); writer.Write(playerId); writer.EndMessage(); }
public static void Serialize(IMessageWriter writer, bool clear, int gameCode, int playerId, bool isBan) { if (clear) { writer.Clear(MessageType.Reliable); } writer.StartMessage(MessageFlags.KickPlayer); writer.Write(gameCode); writer.WritePacked(playerId); writer.Write(isBan); writer.EndMessage(); }
public static void Serialize(IMessageWriter writer, bool clear, int gameCode, bool isPublic) { if (clear) { writer.Clear(MessageType.Reliable); } writer.StartMessage(MessageFlags.AlterGame); writer.Write(gameCode); writer.Write((byte)AlterGameTags.ChangePrivacy); writer.Write(isPublic); writer.EndMessage(); }
public static void Serialize(IMessageWriter writer, bool clear, int gameCode, int playerId, int hostId, DisconnectReason reason) { // Only a subset of DisconnectReason shows an unique message. // ExitGame, Banned and Kicked. if (clear) { writer.Clear(MessageType.Reliable); } writer.StartMessage(MessageFlags.RemovePlayer); writer.Write(gameCode); writer.Write(playerId); writer.Write(hostId); writer.Write((byte)reason); writer.EndMessage(); }
public static void Serialize(IMessageWriter writer, bool clear, int gameCode, int playerId, int hostId, int[] otherPlayerIds) { if (clear) { writer.Clear(MessageType.Reliable); } writer.StartMessage(MessageFlags.JoinedGame); writer.Write(gameCode); writer.Write(playerId); writer.Write(hostId); writer.WritePacked(otherPlayerIds.Length); foreach (var id in otherPlayerIds) { writer.WritePacked(id); } writer.EndMessage(); }
public static void SerializeError(IMessageWriter writer, bool clear, DisconnectReason reason, string?message = null) { if (clear) { writer.Clear(MessageType.Reliable); } writer.StartMessage(MessageFlags.JoinGame); writer.Write((int)reason); if (reason == DisconnectReason.Custom) { if (message == null) { throw new ArgumentNullException(nameof(message)); } writer.Write(message); } writer.EndMessage(); }