From b48b49bc17fe12bc6a79665d595d2ef625825630 Mon Sep 17 00:00:00 2001
From: wangguan <wangguan@kt007.com>
Date: Sat, 12 Dec 2020 14:18:00 +0800
Subject: [PATCH] 能量条特效和按钮特效都直接关闭

---
 Assets/Scripts/TowerDefense/UI/EndlessTowerGridOpen.cs |   60 +++++++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 51 insertions(+), 9 deletions(-)

diff --git a/Assets/Scripts/TowerDefense/UI/EndlessTowerGridOpen.cs b/Assets/Scripts/TowerDefense/UI/EndlessTowerGridOpen.cs
index 05c87ad..5ff5507 100644
--- a/Assets/Scripts/TowerDefense/UI/EndlessTowerGridOpen.cs
+++ b/Assets/Scripts/TowerDefense/UI/EndlessTowerGridOpen.cs
@@ -5,6 +5,7 @@
 using TowerDefense.Towers.Placement;
 using UnityEngine;
 using UnityEngine.UI;
+using DG.Tweening;
 
 /// <summary>
 /// 当前类用于开启新的TowerPlacementGrid,用于无尽模式。当前类附加在对应的购买开启按钮上。
@@ -40,6 +41,41 @@
         bWaitOpen = false;
     }
 
+    /// <summary>
+    /// Subscribe to the level manager
+    /// </summary>
+    protected virtual void OnEnable()
+    {
+        if (EndlessLevelManager.instanceExists)
+            EndlessLevelManager.instance.Currency.currencyChanged += OnCurrencyChanged;
+    }
+
+    /// <summary>
+    /// Unsubscribe from the level manager
+    /// </summary>
+    protected virtual void OnDisable()
+    {
+        if (EndlessLevelManager.instanceExists)
+            EndlessLevelManager.instance.Currency.currencyChanged -= OnCurrencyChanged;
+    }
+
+    private void OnCurrencyChanged()
+    {
+        CheckCurrencyEnough();
+    }
+
+    public void CheckCurrencyEnough()
+    {
+        int result;
+        int.TryParse(cashText.text.ToString(), out result);
+        int current = EndlessLevelManager.instance.Currency.currentCurrency;
+
+        if (current >= result)
+            cashText.color = new Color(1f, 1f, 1f);
+        else
+            cashText.color = new Color(0.5f, 0.5f, 0.5f);
+    }
+
     public void SetBuyBtnInfo(int x, int y, TowerPlacementGridEndless tpg)
     {
         gridX = x;
@@ -54,23 +90,29 @@
     {
         if (bWaitOpen) return;
 
-        if (GameConfig.IsNewbie)
-        {
-            if (!GameConfig.CanOpenNewTower) return;
+        // if (GameConfig.IsNewbie)
+        // {
+        //     if (!GameConfig.CanOpenNewTower) return;
 
-            if (!isOpenTower)
-            {
-                isOpenTower = true;
-                EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.GetOneTowerPos);
-            }
-        }
+        //     if (!isOpenTower)
+        //     {
+        //         isOpenTower = true;
+        //         EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.GetOneTowerPos);
+        //     }
+        // }
 
 
         if (towerGrid != null)
         {
             float cashToOpen = TowerPlacementGridEndless.GRID_OPENCASH;
             if (EndlessLevelManager.instance.Currency.currentCurrency < cashToOpen)
+            {
+                AudioSourceManager.Ins.Play(AudioEnum.UIDisable);
+                cashText.color = new Color(218f / 255f, 32f / 255f, 32f / 255f);
+                DOTween.To(() => cashText.color, (Color v) => cashText.color = v, cashText.color, 0.2f)
+                    .OnComplete(CheckCurrencyEnough);
                 return;
+            }
 
             // 减少Cash并开启相应塔防管理器的兵线
             bool bsucc = EndlessLevelManager.instance.Currency.TryPurchase((int)cashToOpen);

--
Gitblit v1.9.1