#pragma once #include "CoreMinimal.h" #include "Components/ActorComponent.h" #include "BPC_StressSystem.generated.h" UENUM(BlueprintType) enum class EStressTier : uint8 { Calm UMETA(DisplayName = "Calm"), Tense UMETA(DisplayName = "Tense"), Distressed UMETA(DisplayName = "Distressed"), Panic UMETA(DisplayName = "Panic"), Catatonic UMETA(DisplayName = "Catatonic"), }; DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnStressTierChanged, EStressTier, NewTier); UCLASS(Blueprintable, ClassGroup=(Framework), meta=(BlueprintSpawnableComponent)) class FRAMEWORK_API UBPC_StressSystem : public UActorComponent { GENERATED_BODY() public: UBPC_StressSystem(); UPROPERTY(BlueprintReadOnly, Category = "Framework|Stress") EStressTier StressTier = EStressTier::Calm; UPROPERTY(BlueprintAssignable, Category = "Framework|Events") FOnStressTierChanged OnStressTierChanged; };