Exemplo n.º 1
0
        /// <summary>
        /// Writes the specified fields to an outgoing message.
        /// </summary>
        /// <param name="message">The outgoing message</param>
        /// <param name="includedFields">Indicates the fields that must synchronized</param>
        protected void WriteToMessage(OutgoingMessage message, RoomFieldsFlags includedFields)
        {
            message.Write((byte)includedFields);

            if (includedFields.HasFlag(RoomFieldsFlags.IsVisible))
            {
                message.Write(this.IsVisible);
            }

            if (includedFields.HasFlag(RoomFieldsFlags.MaxPlayers))
            {
                message.Write(this.MaxPlayers);
            }

            if (includedFields.HasFlag(RoomFieldsFlags.CustomProperties))
            {
                this.CustomProperties.WriteToMessage(message);
            }
        }