Пример #1
0
    //Creates level visuals and face matrix data from leveldata
    public Face[,] GenerateLayoutVisual(int levelNumber)
    {
        int faceCount = GetLevelTilePairsCount(levelNumber);

        var faces = faceController.GetShuffledFaces(faceCount);

        Face[,] facematrix = new Face[levels[levelNumber].columns[0].row.Length, levels[levelNumber].columns.Length];

        var index = 0;

        for (int i = 0; i < facematrix.GetLength(1); i++)
        {
            for (int j = 0; j < facematrix.GetLength(0); j++)
            {
                if (levels[levelNumber].columns[i].row[j])
                {
                    var tileGameobject = Instantiate(tilePrefab.gameObject, tileHolder.transform.position + Vector3.right * j + Vector3.down * i, Quaternion.identity, tileHolder);
                    var tile           = tileGameobject.GetComponent <Tile>();
                    tile.AddFaceToTile(faces[index]);
                    tile.AddController(gameLogicController);
                    facematrix[j, i] = faces[index];
                    gameLogicController.tileViews.Add(tile);
                    index++;
                }
            }
        }
        return(facematrix);
    }