public void BuildTower(TowerData towerData) { collider.enabled = false; _tower = TowersController.GetTowerToBuild(towerData.Type); _towerTransform = _tower.transform; _towerTransform.parent = _buildSpot; _towerTransform.localPosition = Vector3.zero; _towerTransform.localScale = Vector3.one; _tower.Init(towerData.FireSpeed, towerData.FireDamage, towerData.FireDistance); GamePanel.Hide(); }
//выстрел по противнику public void FireToEnemy(BaseTower tower, BaseEnemy enemy) { _bulletSprite.color = _matDedaultColor; _isFired = true; _isTargetAlive = true; _tower = tower; _enemy = enemy; _target = enemy.transform; _enemy.OnDeath += DeathTarget; transform.position = _tower.transform.position; }
public static BaseTower GetTowerToBuild(TowerType towerType) { BaseTower result = null; switch (towerType) { case TowerType.Tower1: result = _tower1Pool.GetObjectFromPool(); break; case TowerType.Tower2: result = _tower2Pool.GetObjectFromPool(); break; case TowerType.Tower3: result = _tower3Pool.GetObjectFromPool(); break; default: result = _tower1Pool.GetObjectFromPool(); break; } return(result); }