Server.Items.BaseBook.Serialize C# (CSharp) Méthode

Serialize() public méthode

public Serialize ( Server.GenericWriter writer ) : void
writer Server.GenericWriter
Résultat void
		public override void Serialize( GenericWriter writer )
		{
			base.Serialize( writer );

			BookContent content = this.DefaultContent;

			SaveFlags flags = SaveFlags.None;

			if ( m_Title != ( content == null ? null : content.Title ) )
				flags |= SaveFlags.Title;

			if ( m_Author != ( content == null ? null : content.Author ) )
				flags |= SaveFlags.Author;

			if ( m_Writable )
				flags |= SaveFlags.Writable;

			if ( content == null || !content.IsMatch( m_Pages ) )
				flags |= SaveFlags.Content;



			writer.Write( (int) 4 ); // version

			writer.Write( (byte) flags );

			if ( (flags & SaveFlags.Title) != 0 )
				writer.Write( m_Title );

			if ( (flags & SaveFlags.Author) != 0 )
				writer.Write( m_Author );

			if ( (flags & SaveFlags.Content) != 0 )
			{
				writer.WriteEncodedInt( m_Pages.Length );

				for ( int i = 0; i < m_Pages.Length; ++i )
					m_Pages[i].Serialize( writer );
			}
		}