Server.BinaryMemoryWriter.CommitTo C# (CSharp) Méthode

CommitTo() public méthode

public CommitTo ( SequentialFileWriter dataFile, SequentialFileWriter indexFile, int typeCode, int serial ) : int
dataFile SequentialFileWriter
indexFile SequentialFileWriter
typeCode int
serial int
Résultat int
		public int CommitTo( SequentialFileWriter dataFile, SequentialFileWriter indexFile, int typeCode, int serial ) {
			Flush();

			byte[] buffer = stream.GetBuffer();
			int length = ( int ) stream.Length;

			long position = dataFile.Position;

			dataFile.Write( buffer, 0, length );

			if ( indexBuffer == null ) {
				indexBuffer = new byte[20];
			}

			indexBuffer[0] = ( byte ) ( typeCode );
			indexBuffer[1] = ( byte ) ( typeCode >> 8 );
			indexBuffer[2] = ( byte ) ( typeCode >> 16 );
			indexBuffer[3] = ( byte ) ( typeCode >> 24 );

			indexBuffer[4] = ( byte ) ( serial );
			indexBuffer[5] = ( byte ) ( serial >> 8 );
			indexBuffer[6] = ( byte ) ( serial >> 16 );
			indexBuffer[7] = ( byte ) ( serial >> 24 );

			indexBuffer[8] = ( byte ) ( position );
			indexBuffer[9] = ( byte ) ( position >> 8 );
			indexBuffer[10] = ( byte ) ( position >> 16 );
			indexBuffer[11] = ( byte ) ( position >> 24 );
			indexBuffer[12] = ( byte ) ( position >> 32 );
			indexBuffer[13] = ( byte ) ( position >> 40 );
			indexBuffer[14] = ( byte ) ( position >> 48 );
			indexBuffer[15] = ( byte ) ( position >> 56 );

			indexBuffer[16] = ( byte ) ( length );
			indexBuffer[17] = ( byte ) ( length >> 8 );
			indexBuffer[18] = ( byte ) ( length >> 16 );
			indexBuffer[19] = ( byte ) ( length >> 24 );

			indexFile.Write( indexBuffer, 0, indexBuffer.Length );

			stream.SetLength( 0 );

			return length;
		}
	}

Usage Example

Exemple #1
0
        private void Save(Mobile mob, BinaryMemoryWriter writer)
        {
            int length = writer.CommitTo(mobileData, mobileIndex, mob.m_TypeRef, mob.Serial);

            if (metrics != null)
            {
                metrics.OnMobileSaved(length);
            }
        }
All Usage Examples Of Server.BinaryMemoryWriter::CommitTo