From dcbbe82ceca921e73e1789ae87ea8ac6a59c7bff Mon Sep 17 00:00:00 2001
From: wangguan <wangguan@kt007.com>
Date: Thu, 17 Dec 2020 15:54:41 +0800
Subject: [PATCH] 增加技能特效

---
 Assets/Scripts/TowerDefense/UI/EndlessTowerGridOpen.cs |   39 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 39 insertions(+), 0 deletions(-)

diff --git a/Assets/Scripts/TowerDefense/UI/EndlessTowerGridOpen.cs b/Assets/Scripts/TowerDefense/UI/EndlessTowerGridOpen.cs
index b93333c..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;
@@ -72,6 +108,9 @@
             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;
             }
 

--
Gitblit v1.9.1