public SetTower ( |
||
tower | ||
return | void |
public void BuildTower(Tile tile) { List<Tile> path; Tower tower = new TowerTest(tile); tile.SetTower(tower); bool canBuildTower = true; for (int i = 0; i < TileMap.Tiles.Count; i++) { path = TileMap.Tiles[i].GetPathTo(goalBase.GetTile()); if (path.Count == 0 && TileMap.Tiles[i] != goalBase.GetTile()) { canBuildTower = false; } } if (canBuildTower) { towers.Add(tower); } else { tile.RemoveTower(); } }
public static bool SetTower(Tower tower, Tile tile) { tile.SetTower(tower); if (IsTilePathsValid()) { UpdateTilePaths(); List<Tile> walkableNeighbors = GetWalkableNeighbors(tile); for (int i = 0; i < walkableNeighbors.Count; i++) { walkableNeighbors[i].RegisterTowerListener(tower); } OnTowerCreated(); return true; } RemoveTower(tile); return false; }