using UnityEngine; public class StaminaManager : MonoBehaviour { [SerializeField] private float maxStamina = 100f; [SerializeField] private float staminaRegenRate = 10f; [SerializeField] private float staminaRegenDelay = 1f; private float currentStamina; private float staminaRegenTimer; public float CurrentStamina => currentStamina; public float MaxStamina => maxStamina; private void Start() { currentStamina = maxStamina; } private void Update() { if (staminaRegenTimer > 0) { staminaRegenTimer -= Time.deltaTime; } else if (currentStamina < maxStamina) { currentStamina += staminaRegenRate * Time.deltaTime; currentStamina = Mathf.Min(currentStamina, maxStamina); } } public bool TryConsume(float amount) { if (currentStamina >= amount) { currentStamina -= amount; staminaRegenTimer = staminaRegenDelay; return true; } return false; } }