Danro/Assets/Scripts/UI/UITextController.cs
Danil Iarosh 5bafc385da feat(audio): increase SFX pool size and preload audio data
- Increased SFX pool size from 8 to 16 in AudioManager
- Enabled preloadAudioData for multiple SFX files
- Removed unused VisualScripting import from Checkpoint script
- Reordered using statements in several scripts for consistency
- Added CoinCollectible component to Coin prefab with pickup effects
- Updated sorting layers and mesh LOD settings in Coin prefabs
- Fixed typo in Interfaces.cs: optionaAttachPoint to optionalAttachPoint
- Modified AddCoin method to accept count parameter and handle coin overflow
- Moved projectile scripts (BasicProjectile, EnemyBasicProjectile, PhysicsProjectile, PickableProjectile)
- Cleaned up unused namespaces and imports across various scripts
2025-10-30 16:39:15 +03:00

60 lines
1.7 KiB
C#

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