Ejemplo n.º 1
0
        private GameObject[,] GenerateTiles()
        {
            GameObject[,] tiles = new GameObject[mapSize.x, mapSize.y];

            for (int y = 0; y < mapSize.y; ++y)
            {
                for (int x = 0; x < mapSize.x; ++x)
                {
                    // TODO - Deal with terrain randomization here

                    Vector2Int offsetCoordinates = new Vector2Int(x, y);
                    Vector3Int cubeCoordinates   = HexConversions.OffsetCoordToCubeCoord(offsetCoordinates);
                    Vector3    worldCoordinates  = HexConversions.OffsetCoordToWorldPosition(offsetCoordinates);

                    // Create the tile itself in the world view and assign its variables
                    GameObject tile = GameObject.Instantiate(tilePrefab);
                    tile.transform.SetParent(transform, true);
                    tile.transform.localPosition = worldCoordinates;
                    tile.name = cubeCoordinates.ToString();
                    ((Tile)tile.GetComponent(typeof(Tile))).cubeCoordinates = cubeCoordinates;

                    // Add generated tile to array
                    tiles[x, y] = tile;
                }
            }

            return(tiles);
        }