예제 #1
0
        private void Awake()
        {
            gameManager       = Locator.Get <GameManager>();
            generationManager = Locator.Get <MapGenerationManager>();

            SubscribeUIListeners();
        }
예제 #2
0
    public void Build(List <UnitStats> playerUnits)
    {
        tilesContainer = new GameObject("Tile Container");
        tilesContainer.transform.parent = transform;

        MapGenerationManager mapGenerator = GetComponent <MapGenerationManager>();

        mapGenerator.Generate();

        tiles  = new List <List <Tile> >();
        width  = mapGenerator.width;
        height = mapGenerator.height;
        for (int x = 0; x < width; x++)
        {
            List <Tile> column = new List <Tile>();
            for (int y = 0; y < height; y++)
            {
                Terrain    terrain = mapGenerator.GetTerrainForXY(x, y);
                GameObject prefab  = mapGenerator.GetTilePrefabForTerrain(terrain);
                GameObject obj     = Instantiate(prefab, new Vector3(x, y, 1), Quaternion.identity) as GameObject;
                obj.transform.parent = tilesContainer.transform;
                Tile tile = obj.GetComponent <Tile>();
                tile.p = new Point(x, y);
                column.Add(tile);
            }
            tiles.Add(column);
        }

        units = GetComponent <UnitPlacementManager>().setupUnits(playerUnits);
    }