public static void BatchQueryProperties( NetState state, PacketReader pvSrc )
{
if ( !ObjectPropertyList.Enabled )
return;
Mobile from = state.Mobile;
int length = pvSrc.Size-3;
if ( length < 0 || (length%4) != 0 )
return;
int count = length/4;
for ( int i = 0; i < count; ++i )
{
Serial s = pvSrc.ReadInt32();
if ( s.IsMobile )
{
Mobile m = World.FindMobile( s );
if ( m != null && from.CanSee( m ) && Utility.InUpdateRange( from, m ) )
m.SendPropertiesTo( from );
}
else if ( s.IsItem )
{
Item item = World.FindItem( s );
if ( item != null && !item.Deleted && from.CanSee( item ) && Utility.InUpdateRange( from.Location, item.GetWorldLocation() ) )
item.SendPropertiesTo( from );
}
}
}