示例#1
0
    public void LoadLevel(LevelData levelData)
    {
        Debug.Log("[GameController] Load level");

        m_levelData = levelData;

        while (m_piecesContainer.childCount > 0)
        {
            DestroyImmediate(m_piecesContainer.GetChild(0).gameObject);
        }

        m_pieces.Clear();

        foreach (LevelData.PieceData pieceData in levelData.pieces)
        {
            PieceController piece = m_pieceFactory.Create(pieceData.type);
            piece.Rotate(pieceData.rotation);
            piece.Coordinates.Set(pieceData.beginCoordinates);
            piece.Interactable = false;

            m_pieces.Add(piece);
        }

        m_layout.CreateBoard(m_levelData);
        m_layout.Layout(m_pieces);
    }