Danro/Assets/Scripts/UI/UITextController.cs

59 lines
1.7 KiB
C#

using TMPro;
using UnityEngine;
using RR.Game2D.Core.Managers;
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();
}
}
}