protected void Awake()
    {
        m_gridScreenPos = m_screenOffset;
        if( m_centerGridScreen )
        {
            m_gridScreenPos.x += ( ( Screen.width - ( m_gridWidth * TILE_SIZE ) ) / 2 );
            m_gridScreenPos.y += ( ( Screen.height - ( m_gridHeight * TILE_SIZE ) ) / 2 );
        }

        m_grid = new TileGrid( m_gridWidth, m_gridHeight );
        m_lastSeenSolutions = m_grid.GetPossibleSolutions();
        if( m_grid == null )
        {
            Debug.LogError( "Failed to create TileGrid." );
            enabled = false;
            return;
        }
    }