public List<IEntity> GetMovingEntities()
{
List<IEntity> list = new List<IEntity>();
Map map = Map;
if ( map == null || map == Map.Internal )
return list;
MultiComponentList mcl = Components;
foreach ( object o in map.GetObjectsInBounds( new Rectangle2D( X + mcl.Min.X, Y + mcl.Min.Y, mcl.Width, mcl.Height ) ) )
{
if ( o == this || o is TillerMan || o is Hold || o is Plank )
continue;
if ( o is Item )
{
Item item = (Item)o;
if ( Contains( item ) && item.Visible && item.Z >= Z )
list.Add( item );
}
else if ( o is Mobile )
{
Mobile m = (Mobile)o;
if ( Contains( m ) )
list.Add( m );
}
}
return list;
}