private void BuildTower(Tile tile) { if (GameManager.Instance.Player.BuyTower(CurrentHeldTower)) { if (tile.PlacedTower != null) { CurrentHeldTower.GiveXP(tile.PlacedTower.Xp); SellTower(tile.PlacedTower); } BuiltTowers.Add(CurrentHeldTower); SetTowerModelTransparency(1.0f); ResetTowerModelColor(); tile.IsEmpty = false; tile.PlacedTower = CurrentHeldTower; _currentHeldTowerButton.SetButtonInactive(); GameManager.Instance.UIManager.BuildPanel.RemoveBuildButton(_currentHeldTowerButton, true); _currentHeldTowerButton = null; CurrentHeldTower.gameObject.transform.parent = PlacedTowersContainer.transform; CurrentHeldTower.IsPlaced = true; CurrentHeldTower.Tile = tile; CurrentHeldTower.gameObject.SetActive(true); GameManager.Instance.Player.RemoveBuildableTower(CurrentHeldTower); IsBuilding = false; } else { CancelBuilding(); } }
public void BuildTower(TowerBuildButton towerPrefabHolder) { int towerCost = towerPrefabHolder.towerPrefab.GetComponent <Tower>().cost; Controller.Instance.Money -= towerCost; SelectedPoint.Selected = false; // Do not move StartCoroutine(TowerBuilding(towerPrefabHolder.towerPrefab, SelectedPoint)); SelectedPoint = null; }
private void Start() { for (int i = 0; i < GameManager.Instance.mapManager.currentMap.AvailableTowers.Length; i++) { GameObject towerButton = Instantiate(towerButtonPrefab); towerButton.transform.SetParent(panel, false); TowerBuildButton buildButton = towerButton.GetComponent <TowerBuildButton>(); buildButton.InitializeButton(GameManager.Instance.mapManager.currentMap.AvailableTowers[i]); } }
public void StartBuilding(TowerBuildButton button) { CancelBuilding(); IsBuilding = true; GameManager.Instance.TowerSelectionManager.SelectTower(button.Tower); _currentHeldTowerButton = button; _currentHeldTowerButton.SetButtonActive(); CurrentHeldTower.gameObject.SetActive(true); SetTowerModelTransparency(0.25f); }
private void CancelBuilding() { if (_currentHeldTowerButton != null) { _currentHeldTowerButton.SetButtonInactive(); } if (CurrentHeldTower != null && !CurrentHeldTower.IsPlaced) { CurrentHeldTower.gameObject.SetActive(false); } GameManager.Instance.UIManager.TowerInfoPanel.DisableTowerInfoPopup(); GameManager.Instance.TowerSelectionManager.DeselectTower(); _currentHeldTowerButton = null; _currentTile = null; _towerHoldState = TowerHoldState.None; IsBuilding = false; }