public void SetTower(GameTile tile) { tower = tile.Content as Tower; levelController = tower.GetComponent<TowerLevelController>(); //Debug.Log(tower.towerType); upgradePanel.SetActive(false); maxLevelPanel.SetActive(false); if (levelController.MaxLevel()) { maxLevelPanel.SetActive(true); return; } upgradePanel.SetActive(true); priceText.text = $"{towerFactory.GetUpgradePrice(tower.towerType)} $"; switch (tower.towerType) { case TowerType.Laser: { laser.SetLevel(levelController.CurrentLevel + 1); laser.gameObject.SetActive(true); ballistic.gameObject.SetActive(false); break; } case TowerType.Ballistic: { ballistic.SetLevel(levelController.CurrentLevel + 1); ballistic.gameObject.SetActive(true); laser.gameObject.SetActive(false); break; } } }