private void PlaceNewTower()
    {
        canPlaceTower = false;
        var newTower = Instantiate(previewTower, currentMouseGridPosition.GridPositionToVector3(), Quaternion.identity);

        // var towerComponent = newTower.GetComponent<Tower>();

        if (!newTower /*|| !towerComponent*/)
        {
            return;
        }

        // towerComponent.Activate();
        newTower.Activate();

        TowerStore.AddTower(currentMouseGridPosition);
        placedTowersCount += 1;

        pathFinder.BlocksChanged = true;

        RefreshEnemyPaths();
        resourcesController.AddCrystalsAmount(-towerShop.SelectedItem.GetBuildCost());

        DestroyPreviewTower();
        SwitchVfxOff();

        OnMouseGridPositionChanged(currentMouseGridPosition);
        StartCoroutine(CanPlaceTowerCooldown());
    }