48 lines
1.4 KiB
C#
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();
|
|
}
|
|
}
|
|
}
|
|
} |