Files
Naked-Desire/Source/NakedDesire/Commissions/Objectives/ReachEmbarrassmentObjective.h
T
2026-06-03 15:17:02 +03:00

33 lines
1004 B
C++

// © 2025 Naked People Team. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "NakedDesire/Commissions/CommissionObjective.h"
#include "ReachEmbarrassmentObjective.generated.h"
// Push embarrassment to ThresholdFraction of max. RequiredHoldSeconds = 0 satisfies on reaching it
// (ReachEmbarrassment); > 0 requires staying at/above it for the duration (SustainEmbarrassment).
UCLASS(EditInlineNew, DisplayName = "Reach Embarrassment")
class NAKEDDESIRE_API UReachEmbarrassmentObjective : public UCommissionObjective
{
GENERATED_BODY()
public:
virtual FText GetDescription() const override;
protected:
virtual void OnActivate() override;
virtual void OnDeactivate() override;
virtual bool IsConditionMet() const override;
private:
UPROPERTY(EditDefaultsOnly, meta = (ClampMin = 0.0, ClampMax = 1.0))
float ThresholdFraction = 0.8f;
UFUNCTION()
void HandleEmbarrassmentUpdate(float CurrentValue, float MaxValue);
float CachedCurrent = 0.0f;
float CachedMax = 0.0f;
};