Exemplo n.º 1
0
    private void Build()
    {
        for (int y = 0; y < map.GetLength(1); y++)
        {
            for (int x = 0; x < map.GetLength(0); x++)
            {
                Tile       tempTile = tileDictionary.getTile(TileMethods.TypeById[map[x, y]]);
                GameObject tempObj  = Instantiate(tempTile.getPrefab, new Vector3Int(x * (int)transform.parent.GetComponent <WorldManager>().getDisplacement, 0, y * (int)transform.parent.GetComponent <WorldManager>().getDisplacement), Quaternion.Euler(0, 90, 0));

                if (tempTile.getType == TileType.Start)
                {
                    StartVector = new Vector2Int(x, y);
                }
                else if (tempTile.getType == TileType.End)
                {
                    EndVector = new Vector2Int(x, y);
                }

                if (tempTile.isWalkable)
                {
                    Walkables.Add(new Vector2Int(x, y));
                }
                //Debug.Log(tempTile.name);

                switch (tempTile.getType)
                {
                case TileType.End: tempObj.transform.parent = Specials.transform; break;

                case TileType.Obstacle: tempObj.transform.parent = Obstacles.transform; break;

                case TileType.Path: tempObj.transform.parent = Paths.transform; break;

                case TileType.Start: tempObj.transform.parent = Specials.transform; break;

                case TileType.TowerOne: tempObj.transform.parent = Towers.transform; break;

                case TileType.TowerTwo: tempObj.transform.parent = Towers.transform; break;
                }
            }
        }
        //Debug.Log("Walkable Tiles: " + Walkables.Count);
    }