public void BuildTower(TowerSlot selectedTowerSlot, Enumerators.TowerType towerType) { TowerSettings towerSettings = SettingsDataUtils.GetTowerSettingsByType(towerType); _gameManager.PlayerController.ChangeCoinsAmount(-towerSettings.buildPrice); selectedTowerSlot.BuildTower(towerType); }
public Tower(Enumerators.TowerType towerType, Transform spawnPoint, Transform container) { TowerType = towerType; _bullets = new List <Bullet>(); _gameManager = GameClient.Get <IGameManager>(); TowerSettings towerSettings = SettingsDataUtils.GetTowerSettingsByType(towerType); SetTowerParams(towerSettings); SpawnTower(towerSettings.prefab, spawnPoint, container); }
public static TowerSettings GetTowerSettingsByType(Enumerators.TowerType towerType) { TowerSettings[] towerSettings = GameClient.Get <IDataManager>().GetScriptableObject <TowerSettingsData>().towerSettings; TowerSettings towerData = towerSettings.FirstOrDefault(x => x.towerType == towerType); if (towerData == null) { Debug.LogError("No TowerSettings for tower with type - " + towerType); } return(towerData); }
private void OnBuildTowerButtonClickHandler(Enumerators.TowerType towerType) { if (_selectedTowerSlot != null) { if (_selectedTowerSlot.IsEmpty) { _gameManager.TowerController.BuildTower(_selectedTowerSlot, towerType); } else { Debug.LogError("Selected TowerSlot is not empty!"); } } else { Debug.LogError("_selectedTowerSlot value is null!"); } Hide(); }
public void BuildTower(Enumerators.TowerType towerType) { IsEmpty = false; _tower = new Tower(towerType, _towerBuildPoint, _selfObject.transform); }