public void _SelectTower(UnitTower tower) { _ClearSelectedTower(); selectedTower = tower; if (onTowerSelected != null) { onTowerSelected(tower); } if (tower.type == _TowerType.Block || tower.type == _TowerType.Resource) { return; } float range = tower.GetAttackRange(); Transform indicatorT = !tower.directionalTargeting ? rangeIndicator : rangeIndicatorCone; if (indicatorT != null) { indicatorT.parent = tower.thisT; indicatorT.position = tower.thisT.position; indicatorT.localScale = new Vector3(2 * range, 1, 2 * range); if (tower.directionalTargeting) { indicatorT.localRotation = Quaternion.identity * Quaternion.Euler(0, tower.dirScanAngle, 0); } indicatorT.gameObject.SetActive(true); } }