using UnityEngine; using UnityEngine.UI; using Unity.Netcode; public class StaminaUI : MonoBehaviour { private StaminaManager localStaminaManager; private Image staminaBar; private void Start() { staminaBar = GetComponent(); 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()) { if (player.TryGetComponent(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; } } }