33 lines
1004 B
C++
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;
|
|
}; |