private void BuildTower(Tile tile)
        {
            if (GameManager.Instance.Player.BuyTower(CurrentHeldTower))
            {
                if (tile.PlacedTower != null)
                {
                    CurrentHeldTower.GiveXP(tile.PlacedTower.Xp);
                    SellTower(tile.PlacedTower);
                }

                BuiltTowers.Add(CurrentHeldTower);

                SetTowerModelTransparency(1.0f);
                ResetTowerModelColor();
                tile.IsEmpty     = false;
                tile.PlacedTower = CurrentHeldTower;

                _currentHeldTowerButton.SetButtonInactive();
                GameManager.Instance.UIManager.BuildPanel.RemoveBuildButton(_currentHeldTowerButton, true);
                _currentHeldTowerButton = null;

                CurrentHeldTower.gameObject.transform.parent = PlacedTowersContainer.transform;
                CurrentHeldTower.IsPlaced = true;
                CurrentHeldTower.Tile     = tile;
                CurrentHeldTower.gameObject.SetActive(true);

                GameManager.Instance.Player.RemoveBuildableTower(CurrentHeldTower);
                IsBuilding = false;
            }
            else
            {
                CancelBuilding();
            }
        }
        private void SetTowerModelColor(Color newColor)
        {
            var towerRenderer = CurrentHeldTower.GetComponentsInChildren <MeshRenderer>();

            foreach (var r in towerRenderer)
            {
                newColor.a       = r.material.color.a;
                r.material.color = newColor;
            }
        }
        public void SetTowerModelTransparency(float alpha)
        {
            var towerRenderer = CurrentHeldTower.GetComponentsInChildren <Renderer>();

            foreach (var r in towerRenderer)
            {
                if (r.material.HasProperty("color"))
                {
                    var color = r.material.color;
                    color.a          = alpha;
                    r.material.color = color;
                }
            }
        }