#pragma once

#include "CoreMinimal.h"
#include "Components/ActorComponent.h"
#include "BPC_StaminaSystem.generated.h"

DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnExhaustionStateChanged, bool, bExhausted);

UCLASS(Blueprintable, ClassGroup=(Framework), meta=(BlueprintSpawnableComponent))
class PG_FRAMEWORK_API UBPC_StaminaSystem : public UActorComponent
{
	GENERATED_BODY()

public:
	UBPC_StaminaSystem();

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Framework|Stamina")
	float MaxStamina = 100.0f;

	UPROPERTY(BlueprintReadOnly, Category = "Framework|Stamina")
	float CurrentStamina = 100.0f;

	UPROPERTY(BlueprintAssignable, Category = "Framework|Events")
	FOnExhaustionStateChanged OnExhaustionStateChanged;
};
