public void BuildTower(TowerSlot selectedTowerSlot, Enumerators.TowerType towerType)
        {
            TowerSettings towerSettings = SettingsDataUtils.GetTowerSettingsByType(towerType);

            _gameManager.PlayerController.ChangeCoinsAmount(-towerSettings.buildPrice);
            selectedTowerSlot.BuildTower(towerType);
        }
Пример #2
0
        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);
        }
Пример #4
0
        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();
        }
Пример #5
0
 public void BuildTower(Enumerators.TowerType towerType)
 {
     IsEmpty = false;
     _tower  = new Tower(towerType, _towerBuildPoint, _selfObject.transform);
 }