| | |
| | | using TowerDefense.Towers.Placement; |
| | | using UnityEngine; |
| | | using UnityEngine.UI; |
| | | using DG.Tweening; |
| | | |
| | | /// <summary> |
| | | /// 当前类用于开启新的TowerPlacementGrid,用于无尽模式。当前类附加在对应的购买开启按钮上。 |
| | |
| | | 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; |
| | |
| | | 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; |
| | | } |
| | | |