public bool MoveNext() { while ( true ) { ++m_CurrentIndex; if ( m_CurrentIndex == m_CurrentList.Count ) { ++m_ySector; if ( m_ySector > m_ySectorEnd ) { m_ySector = m_ySectorStart; ++m_xSector; if ( m_xSector > m_xSectorEnd ) { m_CurrentIndex = -1; m_CurrentList = null; return false; } } m_CurrentIndex = -1; m_CurrentList = GetListForSector( m_Map.InternalGetSector( m_xSector, m_ySector ) );//m_Map.m_Sectors[m_xSector][m_ySector] ); } else { return true; } } }