Files
2025TapTapGameJam/Assets/Script/Gameplay/UI/PlayerHpViewer.cs

37 lines
891 B
C#

using System;
using Core;
using Gameplay.Player;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
namespace UI
{
public class PlayerHpViewer : UIBase
{
private PlayerController _playerController;
public TMP_Text hpText;
private void Awake()
{
ControllerLocator.Instance.TryGetWait<PlayerController>(OnGet);
}
private void OnGet(PlayerController playerController)
{
_playerController = playerController;
_playerController.OnHealthChanged += UpdateHpText;
UpdateHpText(_playerController.CurrentHealth);
}
private void UpdateHpText(int currentHealth)
{
hpText.text = "HP: " + currentHealth.ToString();
}
private void OnDestroy()
{
_playerController.OnHealthChanged -= UpdateHpText;
}
}
}