using UnityEngine; using Colosseum.Player; namespace Colosseum.UI { /// /// 플레이어 HUD - 체력/마나 바 관리 /// public class PlayerHUD : MonoBehaviour { [Header("Stat Bars")] [SerializeField] private StatBar healthBar; [SerializeField] private StatBar manaBar; [Header("Target")] [Tooltip("자동으로 로컬 플레이어 찾기")] [SerializeField] private bool autoFindPlayer = true; private PlayerNetworkController targetPlayer; private void Start() { if (autoFindPlayer) { FindLocalPlayer(); } } private void Update() { if (targetPlayer == null && autoFindPlayer) { FindLocalPlayer(); } if (targetPlayer != null) { UpdateStatBars(); } } private void FindLocalPlayer() { var players = FindObjectsByType(FindObjectsSortMode.None); foreach (var player in players) { if (player.IsOwner) { SetTarget(player); break; } } } /// /// 추적할 플레이어 설정 /// public void SetTarget(PlayerNetworkController player) { targetPlayer = player; } private void UpdateStatBars() { if (healthBar != null) { healthBar.SetValue(targetPlayer.Health, targetPlayer.MaxHealth); } if (manaBar != null) { manaBar.SetValue(targetPlayer.Mana, targetPlayer.MaxMana); } } } }