public IPooledEnumerable GetMobilesInBounds( Rectangle2D bounds ) { if ( this == Map.Internal ) return NullEnumerable.Instance; return PooledEnumerable.Instantiate( TypedEnumerator.Instantiate( this, bounds, SectorEnumeratorType.Mobiles ) ); }
public IPooledEnumerable GetMobilesInRange( Point3D p, int range ) { if ( this == Map.Internal ) return NullEnumerable.Instance; return PooledEnumerable.Instantiate( TypedEnumerator.Instantiate( this, new Rectangle2D( p.m_X - range, p.m_Y - range, range * 2 + 1, range * 2 + 1 ), SectorEnumeratorType.Mobiles ) ); }
public IPooledEnumerable GetItemsInRange( Point3D p ) { if ( this == Map.Internal ) return NullEnumerable.Instance; return PooledEnumerable.Instantiate( TypedEnumerator.Instantiate( this, new Rectangle2D( p.m_X - 18, p.m_Y - 18, 37, 37 ), SectorEnumeratorType.Items ) ); }
public IPooledEnumerable GetObjectsInBounds( Rectangle2D bounds ) { if ( this == Map.Internal ) return NullEnumerable.Instance; return PooledEnumerable.Instantiate( ObjectEnumerator.Instantiate( this, bounds ) ); }
public IPooledEnumerable GetObjectsInRange( Point3D p, int range ) { if ( this == Map.Internal ) return NullEnumerable.Instance; return PooledEnumerable.Instantiate( ObjectEnumerator.Instantiate( this, new Rectangle2D( p.m_X - range, p.m_Y - range, range * 2 + 1, range * 2 + 1 ) ) ); }
public IPooledEnumerable GetObjectsInRange( Point3D p ) { if ( this == Map.Internal ) return NullEnumerable.Instance; return PooledEnumerable.Instantiate( ObjectEnumerator.Instantiate( this, new Rectangle2D( p.m_X - 18, p.m_Y - 18, 37, 37 ) ) ); }
public IPooledEnumerable GetMultiTilesAt( int x, int y ) { if ( this == Map.Internal ) return NullEnumerable.Instance; Sector sector = GetSector( x, y ); if ( sector.Multis.Count == 0 ) return NullEnumerable.Instance; return PooledEnumerable.Instantiate( MultiTileEnumerator.Instantiate( sector, new Point2D( x, y ) ) ); }