본문 바로가기
개발/C#

유니티 C# 스태미너 효과 간단 구현 Stamina

by SPNK 2023. 5. 18.
반응형
  • 코드 작성
using UnityEngine;

public class StaminaEffect : MonoBehaviour
{
    public float maxStamina = 100f;
    public float currentStamina;

    public float staminaDecayRate = 10f;
    public float staminaRecoveryRate = 5f;

    private bool isRecoveringStamina = false;

    private void Start()
    {
        currentStamina = maxStamina;
    }

    private void Update()
    {
        if (!isRecoveringStamina)
        {
            currentStamina -= staminaDecayRate * Time.deltaTime;

            if (currentStamina <= 0f)
            {
                OnStaminaDepleted();
            }
        }
        else
        {
            currentStamina += staminaRecoveryRate * Time.deltaTime;

            if (currentStamina >= maxStamina)
            {
                isRecoveringStamina = false;
            }
        }
    }

    public void StartStaminaRecovery()
    {
        isRecoveringStamina = true;
    }

    private void OnStaminaDepleted()
    {
        Debug.Log("Stamina depleted!");
    }
}
반응형

댓글