chenxin
2020-12-01 944950c86ab3be21c22b7c15039cf2e572efdc90
Assets/Scripts/TowerDefense/UI/HUD/EndlessGameUI.cs
@@ -1178,7 +1178,7 @@
            }
            else if (isFreeAttackGrid(pointerInfo) && !bSkill)
            {
                if (!TryPlaceTower(pointerInfo, false, true))
                if (!TryPlaceTower(pointerInfo, false))
                {
                    CancelPlaceTower(pointerInfo);
                    Debug.Log("这里需要返回原位");
@@ -1409,7 +1409,7 @@
        /// Attempt to position a tower at the given location
        /// </summary>
        /// <param name="pointerInfo">The pointer we're using to position the tower</param>
        public bool TryPlaceTower(PointerInfo pointerInfo, bool force = false, bool zeroCost = false)
        public bool TryPlaceTower(PointerInfo pointerInfo, bool force = false)
        {
            UIPointer pointer = WrapPointer(pointerInfo);
@@ -1420,7 +1420,7 @@
                return false;
            }
            return BuyTower(pointer, force, zeroCost);
            return BuyTower(pointer, force);
        }
        /// <summary>
@@ -1524,12 +1524,7 @@
            {
                return;
            }
            int upgradeCost = currentSelectedTower.GetCostForNextLevel();
            bool successfulUpgrade = EndlessLevelManager.instance.Currency.TryPurchase(upgradeCost);
            if (successfulUpgrade)
            {
                currentSelectedTower.UpgradeTower();
            }
            currentSelectedTower.UpgradeTower();
            DeselectTower();
        }
@@ -1586,15 +1581,10 @@
            {
                throw new InvalidOperationException("Selected Tower is null");
            }
            int sellValue = currentSelectedTower.GetSellLevel();
            if (EndlessLevelManager.instanceExists && sellValue > 0)
            {
                EndlessLevelManager.instance.Currency.AddCurrency(sellValue);
                currentSelectedTower.Sell();
            currentSelectedTower.Sell();
                // 从列表中删除Tower.
                delTower(currentSelectedTower);
            }
            // 从列表中删除Tower.
            delTower(currentSelectedTower);
            DeselectTower();
        }
@@ -1614,12 +1604,7 @@
            {
                return;
            }
            int cost = m_CurrentTower.controller.purchaseCost;
            bool successfulPurchase = EndlessLevelManager.instance.Currency.TryPurchase(cost);
            if (successfulPurchase)
            {
                PlaceTower();
            }
            PlaceTower();
        }
        /// <summary>
@@ -1629,7 +1614,7 @@
        /// Throws exception when not in a build mode or when tower is not a valid position
        /// </exception>
        /// </summary>
        public bool BuyTower(UIPointer pointer, bool force = false, bool zeroCost = false)
        public bool BuyTower(UIPointer pointer, bool force = false)
        {
            if (!isBuilding) return false;
@@ -1678,10 +1663,7 @@
                return false;
            }
            int cost = m_CurrentTower.controller.purchaseCost;
            if (zeroCost)
                cost = 0;
            bool successfulPurchase = EndlessLevelManager.instance.Currency.TryPurchase(cost);
            bool successfulPurchase = EndlessLevelManager.instance.Currency.TryPurchase(0);
            if (successfulPurchase)
            {
                PlaceGhost(pointer);
@@ -1697,27 +1679,6 @@
        public void PlayUpgradeEffect(Tower newTower)
        {
            newTower.currentTowerLevel.PlayUpGradeEffect();
            // GameObject effect = TowerUpgradeEffectPrefab;
            // if (newTower.towerFeature == EFeatureTower.NULL)
            // {
            //     string path = $"UI/ToBattle_{newTower.attributeId}";
            //     GameObject prefab = Resources.Load<GameObject>(path);
            //     effect = Instantiate(prefab);
            // }
            // // 在sTower的位置播放升级特效
            // GameObject obj = Instantiate(effect);
            // obj.transform.position = newTower.transform.position;
            // Vector3 pos = obj.transform.position;
            // pos.y += 5f;
            // obj.transform.position = pos;
            // ParticleSystem ps = obj.GetComponent<ParticleSystem>();
            // if (ps == null)
            //     ps = obj.transform.GetChild(0).GetComponent<ParticleSystem>();
            // ps.Play();
            // Destroy(obj, ps.main.duration);
        }
        /// <summary>
@@ -1776,7 +1737,7 @@
            if (m_CurrentTower == null || m_CurrentArea == null)
                return false;
            return EndlessLevelManager.instance.Currency.CanAfford(m_CurrentTower.controller.purchaseCost);
            return true;
        }
        /// <summary>