public virtual void Write( Stream output, byte version )
{
BitStream bits = new BitStream( output );
// reserved
bits.WriteBits( 2, 0 );
bits.WriteBits( 1, ( _ButtonHasBlendMode ? 1 : 0 ) );
bits.WriteBits( 1, ( _ButtonHasFilterList ? 1 : 0 ) );
bits.WriteBits( 1, ( _ButtonStateHitTest ? 1 : 0 ) );
bits.WriteBits( 1, ( _ButtonStateDown ? 1 : 0 ) );
bits.WriteBits( 1, ( _ButtonStateOver ? 1 : 0 ) );
bits.WriteBits( 1, ( _ButtonStateUp ? 1 : 0 ) );
bits.WriteFlush();
BinaryWriter bw = new BinaryWriter( output );
bw.Write( _CharacterID );
bw.Write( _PlaceDepth );
_PlaceMatrix.Write( output );
}