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 += HandleCoinsChanged; } private void OnDisable() { if (GameManager.Instance != null) GameManager.Instance.CoinsChanged -= HandleCoinsChanged; } 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 HandleCoinsChanged(int newCoins) { if (coinsCount != newCoins) { coinsCount = newCoins; coinsText.text = coinsCount.ToString(); } } } }