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); }