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 ) ) ); }
public static MultiTileEnumerator Instantiate( Sector sector, Point2D loc ) { MultiTileEnumerator e; if ( m_InstancePool.Count > 0 ) { e = m_InstancePool.Dequeue(); e.m_List = sector.Multis; e.m_Location = loc; e.Reset(); } else { e = new MultiTileEnumerator( sector, loc ); } return e; }
public static MultiTileEnumerator Instantiate( Sector sector, Point2D loc ) { MultiTileEnumerator e; if ( m_InstancePool.Count > 0 ) { e = (MultiTileEnumerator)m_InstancePool.Dequeue(); e.m_List = sector.Multis; e.m_Location = loc; e.Reset(); } else { e = new MultiTileEnumerator( sector, loc ); } return e; }