private TangramPiece[] PickPieces(TangramGrid grid)
    {
        List <TangramPiece> chosenPieces   = new List <TangramPiece>();
        List <TangramPiece> possiblePieces = new List <TangramPiece>();

        possiblePieces.AddRange(PiecePrefabs);

        foreach (TangramShape shape in grid.Cells)
        {
            TangramPiece piece = possiblePieces.Where(x => x.Shape == shape).RandomPick();
            possiblePieces.Remove(piece);
            chosenPieces.Add(piece);

            piece.Load();
        }

        return(chosenPieces.ToArray());
    }