// © 2025 Naked People Team. All Rights Reserved. #pragma once #include "CoreMinimal.h" #include "CoverageObjectiveBase.h" #include "BareRegionObjective.generated.h" // Which half is bare while the other stays covered. UENUM(BlueprintType) enum class EBareRegion : uint8 { Top UMETA(DisplayName = "Topless (chest bare, below covered)"), Bottom UMETA(DisplayName = "Bottomless (below bare, chest covered)"), }; // BeToplessOnly / BeBottomlessOnly: one region reads as revealing while the other stays covered. A // deliberate half-exposure objective — distinct from BeFullyNaked (all bare) and StayBelowCoverage. UCLASS(EditInlineNew, DisplayName = "Bare One Region Only") class NAKEDDESIRE_API UBareRegionObjective : public UCoverageObjectiveBase { GENERATED_BODY() public: virtual FText GetDescription() const override; protected: virtual bool IsConditionMet() const override; private: UPROPERTY(EditDefaultsOnly) EBareRegion Region = EBareRegion::Top; };