SetTower() public method

public SetTower ( Tower tower ) : void
tower UHSampleGame.CoreObjects.Towers.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();
     }
 }
Esempio n. 2
0
        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;
        }