public ContainerContent( Mobile beholder, Item beheld )
: base(0x3C)
{
List<Item> items = beheld.Items;
int count = items.Count;
this.EnsureCapacity( 5 + (count * 19) );
long pos = m_Stream.Position;
int written = 0;
m_Stream.Write( (ushort) 0 );
for ( int i = 0; i < count; ++i )
{
Item child = items[i];
if ( !child.Deleted && beholder.CanSee( child ) )
{
Point3D loc = child.Location;
m_Stream.Write( (int) child.Serial );
m_Stream.Write( (ushort) child.ItemID );
m_Stream.Write( (byte) 0 ); // signed, itemID offset
m_Stream.Write( (ushort) child.Amount );
m_Stream.Write( (short) loc.m_X );
m_Stream.Write( (short) loc.m_Y );
m_Stream.Write( (int) beheld.Serial );
m_Stream.Write( (ushort) child.Hue );
++written;
}
}
m_Stream.Seek( pos, SeekOrigin.Begin );
m_Stream.Write( (ushort) written );
}