// © 2025 Naked People Team. All Rights Reserved.

#pragma once

#include "CoreMinimal.h"
#include "NakedDesire/Clothing/BodyPart.h"
#include "CoverageObjectiveBase.h"
#include "ExposeBodyPartObjective.generated.h"

// §13.4 ExposeBodyPart(part, durationSeconds): the named part reads as revealing for the duration.
UCLASS(EditInlineNew, DisplayName = "Expose Body Part")
class NAKEDDESIRE_API UExposeBodyPartObjective : public UCoverageObjectiveBase
{
	GENERATED_BODY()

public:
	virtual FText GetDescription() const override;

protected:
	virtual bool IsConditionMet() const override { return IsPartRevealing(Part); }

private:
	UPROPERTY(EditDefaultsOnly)
	EBodyPart Part = EBodyPart::Boobs;
};