public DisplayEquipmentInfo( Item item, EquipmentInfo info )
: base(0xBF)
{
EquipInfoAttribute[] attrs = info.Attributes;
this.EnsureCapacity( 17 + (info.Crafter == null ? 0 : 6 + info.Crafter.Name == null ? 0 : info.Crafter.Name.Length) + (info.Unidentified ? 4 : 0) + (attrs.Length * 6) );
m_Stream.Write( (short) 0x10 );
m_Stream.Write( (int) item.Serial );
m_Stream.Write( (int) info.Number );
if ( info.Crafter != null )
{
string name = info.Crafter.Name;
m_Stream.Write( (int) -3 );
if ( name == null )
m_Stream.Write( (ushort) 0 );
else
{
int length = name.Length;
m_Stream.Write( (ushort) length );
m_Stream.WriteAsciiFixed( name, length );
}
}
if ( info.Unidentified )
{
m_Stream.Write( (int) -4 );
}
for ( int i = 0; i < attrs.Length; ++i )
{
m_Stream.Write( (int) attrs[i].Number );
m_Stream.Write( (short) attrs[i].Charges );
}
m_Stream.Write( (int) -1 );
}