Files
Gnome-s-Bounty/Assets/Scripts/Managers/UiManager.cs
T
vova 7579175d24 Refactor and reorganize scripts for improved structure and functionality
- Removed obsolete scripts: Chest, BreakableWall, Door, DoorInteract, and UiManager.
- Moved Chest and BreakableWall scripts to EnvironmentObjects folder.
- Introduced HammerThrower class to manage hammer throwing mechanics.
- Updated PlayerController to utilize new InputManager and HammerThrower.
- Refactored PlayerState to manage player state and item collection.
- Enhanced UI management in UiManager to reflect player item collection.
- Updated EnemyAI to remove unused movement logic.
- Adjusted KeyChest to interact with PlayerState instead of Player.
- Cleaned up code and improved event handling for item collection.
2026-06-05 14:33:20 +03:00

45 lines
958 B
C#

using TMPro;
using UnityEngine;
public class UiManager : MonoBehaviour
{
[SerializeField]
private TextMeshProUGUI _totalCoins;
[SerializeField]
private GameObject _keyIcon;
private PlayerState _playerState;
// Start is called before the first frame update
void Start()
{
_playerState = GetComponent<PlayerState>();
if (_playerState != null)
{
_playerState.OnPlayerTakeItem += UpdateUi;
}
}
private void UpdateUi(object sender, TreasureType e)
{
switch (e)
{
case TreasureType.Coin:
_totalCoins.text = _playerState.TotalCoins.ToString();
break;
case TreasureType.Key:
_keyIcon.SetActive(true);
break;
}
}
void OnDestroy()
{
if (_playerState != null)
{
_playerState.OnPlayerTakeItem -= UpdateUi;
}
}
}