You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
HighGroundRoyaleNetcode/Assets/Scripts/StaminaUI.cs

46 lines
1.3 KiB
C#

using UnityEngine;
using UnityEngine.UI;
using Unity.Netcode;
public class StaminaUI : MonoBehaviour
{
private StaminaManager localStaminaManager;
private Image staminaBar;
private void Start()
{
staminaBar = GetComponent<Image>();
if (staminaBar == null)
{
Debug.LogError("[StaminaUI] No Image component found on this GameObject!");
return;
}
// Wait for the player to be assigned
InvokeRepeating(nameof(FindLocalPlayerStaminaManager), 0f, 1f);
}
private void FindLocalPlayerStaminaManager()
{
foreach (var player in FindObjectsOfType<StaminaManager>())
{
if (player.TryGetComponent<NetworkObject>(out var networkObject) && networkObject.IsOwner)
{
localStaminaManager = player;
CancelInvoke(nameof(FindLocalPlayerStaminaManager)); // Stop checking once found
Debug.Log("[StaminaUI] Found local player's StaminaManager.");
break;
}
}
}
private void Update()
{
if (localStaminaManager != null && staminaBar != null)
{
staminaBar.fillAmount = localStaminaManager.CurrentStamina / localStaminaManager.MaxStamina;
}
}
}