123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- using UnityEngine;
- using TMPro;
- using Player.Wallet;
- using UnityEngine.SceneManagement;
- public class CoinDisplayManager : MonoBehaviour
- {
- [SerializeField] private TextMeshProUGUI coinsText;
-
- private void OnEnable()
- {
- SceneManager.sceneLoaded += OnSceneLoaded;
- InitializeCoinDisplay();
- }
- private void OnDisable()
- {
- SceneManager.sceneLoaded -= OnSceneLoaded;
- }
- private void OnSceneLoaded(Scene scene, LoadSceneMode mode)
- {
- InitializeCoinDisplay();
- }
- private void InitializeCoinDisplay()
- {
- if (GameDataManager.Instance != null)
- {
- // 重新绑定UI文本
- GameDataManager.Instance.SetGameSceneCoinsText(coinsText);
-
- // 强制刷新显示
- if (coinsText != null)
- {
- coinsText.text = $"{GameDataManager.Instance.coins}";
- }
-
- // 重新订阅事件
- GameDataManager.Instance.onCoinsChanged -= UpdateCoinDisplay;
- GameDataManager.Instance.onCoinsChanged += UpdateCoinDisplay;
- }
- }
- private void UpdateCoinDisplay()
- {
- if (coinsText != null && GameDataManager.Instance != null)
- {
- coinsText.text = $"{GameDataManager.Instance.coins}";
- }
- }
- /* private void Start()
- {
- InitializeCoinDisplay();
- }*/
- }
|