Ejemplo n.º 1
0
 public virtual bool DestroyTower(Tower tower, Game game)
 {
     if (towerDictionary.ContainsKey(tower.UniqueID))
     {
         towerDictionary.Remove(tower.UniqueID);
         game.Money += tower.DestroyReturn;
         OnBuildTowerCostChange?.Invoke(NextTowerCost);
         return(true);
     }
     else
     {
         return(false);
     }
 }
Ejemplo n.º 2
0
 public virtual bool BuildTower(float positionX, float positionY, Game game, out Tower tower, out string errorMessage)
 {
     tower        = null;
     errorMessage = "";
     if (!IsPositionLegal(positionX, positionY))
     {
         errorMessage = "塔與塔之間的距離太近了!";
         return(false);
     }
     else if (game.Money < NextTowerCost)
     {
         errorMessage = "金錢不足!";
         return(false);
     }
     else
     {
         tower = towerPerfab.Duplicate();
         tower.Locate(positionX, positionY);
         game.Money -= NextTowerCost;
         towerDictionary.Add(tower.UniqueID, tower);
         OnBuildTowerCostChange?.Invoke(NextTowerCost);
         return(true);;
     }
 }