Danro/Assets/Resources/Scripts/UI/UITextController.cs

48 lines
1.4 KiB
C#

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();
}
}
}
}