Esempio n. 1
0
        public static void Serialize(IMessageWriter writer, GameOptionsData gameOptionsData)
        {
            writer.StartMessage(MessageFlags.HostGame);

            using (var memory = new MemoryStream())
                using (var writerBin = new BinaryWriter(memory))
                {
                    gameOptionsData.Serialize(writerBin, GameOptionsData.LatestVersion);
                    writer.WriteBytesAndSize(memory.ToArray());
                }

            writer.EndMessage();
        }
Esempio n. 2
0
            /// <summary>
            /// This is used to generate individual GameOptionsData packets.
            /// </summary>
            /// <param name="data">The options to serialize.</param>
            /// <param name="game">The Game's ID.</param>
            /// <param name="netId">The NetId of the player (as found in the Character.NetId property).</param>
            /// <returns>A packet that can be sent to the client directly.</returns>
            public IMessageWriter GenerateDataPacket(GameOptionsData data, int game, uint netId)
            {
                var writer = Provider.Get(MessageType.Reliable);

                writer.StartMessage(Api.Net.Messages.MessageFlags.GameData);
                writer.Write(game);
                writer.StartMessage((byte)GameDataType.RpcFlag);
                writer.WritePacked(netId);
                writer.Write((byte)Structures.RpcCalls.SyncSettings);
                using (var stream = new MemoryStream())
                    using (BinaryWriter bWriter = new BinaryWriter(stream))
                    {
                        data.Serialize(bWriter, 4);
                        writer.WriteBytesAndSize(stream.ToArray());
                    }
                writer.EndMessage();
                writer.EndMessage();
                return(writer);
            }
 public static void Serialize(IMessageWriter writer, GameOptionsData gameOptionsData)
 {
     writer.StartMessage(MessageFlags.HostGame);
     gameOptionsData.Serialize(writer);
     writer.EndMessage();
 }
Esempio n. 4
0
 public static void Serialize(IMessageWriter writer, GameOptionsData gameOptionsData)
 {
     gameOptionsData.Serialize(writer);
 }