33 lines
975 B
C++
33 lines
975 B
C++
// © 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;
|
|
}; |