using TMPro; using UnityEngine; using RR.Game2D.Core; namespace RR.Common.UI { public class UITextController : MonoBehaviour { [SerializeField] private int livesCount; [SerializeField] private int coinsCount; [SerializeField] private string levelNumber; [SerializeField] private TextMeshProUGUI livesText; [SerializeField] private TextMeshProUGUI coinsText; [SerializeField] private TextMeshProUGUI levelText; private void OnEnable() { if (GameManager.Instance != null) { GameManager.Instance.CoinsChanged += OnCoinsChanged; GameManager.Instance.LivesChanged += OnLivesChanged; } } private void OnDisable() { if (GameManager.Instance != null) { GameManager.Instance.CoinsChanged -= OnCoinsChanged; GameManager.Instance.LivesChanged -= OnLivesChanged; } } void Start() { livesCount = GameManager.Instance.Lives; coinsCount = GameManager.Instance.Coins; levelNumber = $"{GameManager.Instance.World}-{GameManager.Instance.Stage}"; livesText.text = livesCount.ToString(); coinsText.text = coinsCount.ToString(); levelText.text = levelNumber.ToString(); } private void OnCoinsChanged(int newCoins) { if (coinsCount != newCoins) { coinsCount = newCoins; coinsText.text = coinsCount.ToString(); } } private void OnLivesChanged(int newLives) { livesText.text = newLives.ToString(); } } }