Exemple #1
0
    private void PlaceTile(TileType tileType, int x, int y, Vector3 worldStart)
    {
        TileData tile = TileMethods.GetTile(tileType);

        if (tile.prefab)
        {
            GameObject newTile = tileDataByPool[tile].Get();
            newTile.SetActive(true);

            if (newTile)
            {
                newTile.transform.localPosition = new Vector3(worldStart.x + x * 2, 0f, worldStart.y - y * 2);

                // Astar
                Astar.AddNode(newTile.transform.localPosition, x, y, tile.walkable);
                if (tileType == TileType.Start)
                {
                    MapData.startTile.x = x;
                    MapData.startTile.y = y;
                }
                else if (tileType == TileType.End)
                {
                    MapData.endTile.x = x;
                    MapData.endTile.y = y;
                }
            }
        }
    }