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;
                }
        }
    }