Exemplo n.º 1
0
        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();
        }
Exemplo n.º 4
0
        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();
        }
Exemplo n.º 6
0
        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();
        }
Exemplo n.º 7
0
        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();
        }