protected override ulong Render( BinaryWriter outputStream )
{
long pos = outputStream.BaseStream.Position;
Helper.SwfStrings.SwfWriteString( this.Version, outputStream, _functionName );
_numParams = ( ushort )_Parameters.Count;
outputStream.Write( _numParams );
outputStream.Write( _numRegister );
BitStream bits = new BitStream( outputStream.BaseStream );
bits.WriteBits( 1, ( _PreloadParentFlag ? 1 : 0 ) );
bits.WriteBits( 1, ( _PreloadRootFlag ? 1 : 0 ) );
bits.WriteBits( 1, ( _SuppressSuperFlag ? 1 : 0 ) );
bits.WriteBits( 1, ( _PreloadSuperFlag ? 1 : 0 ) );
bits.WriteBits( 1, ( _SuppressArgumentsFlag ? 1 : 0 ) );
bits.WriteBits( 1, ( _PreloadArgumentsFlag ? 1 : 0 ) );
bits.WriteBits( 1, ( _SuppressThisFlag ? 1 : 0 ) );
bits.WriteBits( 1, ( _PreloadThisFlag ? 1 : 0 ) );
bits.WriteBits( 7, 0 );
bits.WriteBits( 1, ( _PreloadGlobalFlag ? 1 : 0 ) );
bits.WriteFlush();
for ( int i = 0; i < _Parameters.Count; i++ )
{
outputStream.Write( _Parameters[ i ].Register );
Helper.SwfStrings.SwfWriteString( this.Version, outputStream, _Parameters[ i ].ParamName );
}
outputStream.Write( _codeSize );
return ( ulong )( outputStream.BaseStream.Position - pos );
}