public void SellTower(TowerSlot selectedTowerSlot) { TowerSettings towerSettings = SettingsDataUtils.GetTowerSettingsByType(selectedTowerSlot.TowerType); _gameManager.PlayerController.ChangeCoinsAmount(towerSettings.buildPrice); selectedTowerSlot.SellTower(); }
public void BuildTower(TowerSlot selectedTowerSlot, Enumerators.TowerType towerType) { TowerSettings towerSettings = SettingsDataUtils.GetTowerSettingsByType(towerType); _gameManager.PlayerController.ChangeCoinsAmount(-towerSettings.buildPrice); selectedTowerSlot.BuildTower(towerType); }
public Enemy(Enumerators.EnemyType enemyType, Transform enemySpawnPoint, Transform[] wavepoints, Transform container) { _waypoints = wavepoints; EnemySettings enemySettings = SettingsDataUtils.GetEnemySettingsByType(enemyType); SetEnemyParams(enemySettings); SpawnEnemy(enemySettings.prefab, enemySpawnPoint, container); _waypointIndex = 0; _targetWaypoint = _waypoints[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 void Show(object data) { if (data != null && data is TowerPopupInfo towerPopupInfo) { if (_selectedTowerSlot == towerPopupInfo.selectedTowerSlot) { Hide(); return; } Vector3 targetPos = Utilites.ScreenToCanvasPoint(_uiManager.Canvas, towerPopupInfo.towerSlotScreenPosition); float canvasRectWidth = _uiManager.Canvas.GetComponent <RectTransform>().rect.width; float canvasRectHeight = _uiManager.Canvas.GetComponent <RectTransform>().rect.height; if (targetPos.x + (_container.rect.width / 2f) > canvasRectWidth - _whiteSpaceToScreenBorders) { targetPos.x = canvasRectWidth - (_container.rect.width / 2f) - _whiteSpaceToScreenBorders; } else if (targetPos.x - (_container.rect.width / 2f) < 0f + _whiteSpaceToScreenBorders) { targetPos.x = (_container.rect.width / 2f) + _whiteSpaceToScreenBorders; } if (targetPos.y + (_container.rect.height / 2f) > canvasRectHeight - _whiteSpaceToScreenBorders) { targetPos.y = canvasRectHeight - (_container.rect.height / 2f) - _whiteSpaceToScreenBorders; } else if (targetPos.y - (_container.rect.height / 2f) < 0f + _whiteSpaceToScreenBorders) { targetPos.y = (_container.rect.height / 2f) + _whiteSpaceToScreenBorders; } _container.anchoredPosition = targetPos; _selectedTowerSlot = towerPopupInfo.selectedTowerSlot; _sellTowerButtonLabelText.text = "SELL" + "\n<b>" + SettingsDataUtils.GetTowerSettingsByType(_selectedTowerSlot.TowerType).buildPrice + "$</b>"; } Show(); }