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

#pragma once

#include "CoreMinimal.h"
#include "NakedDesire/Clothing/BodyPart.h"
#include "TravelObjectiveBase.h"
#include "ExposeWhileWalkingObjective.generated.h"

// Keep Part revealing across RequiredMeters of travel — a moving variant of ExposeBodyPart (a parade,
// not a pose). Distance accrues only while the part reads as revealing and the player is moving.
UCLASS(EditInlineNew, DisplayName = "Expose While Walking")
class NAKEDDESIRE_API UExposeWhileWalkingObjective : public UTravelObjectiveBase
{
	GENERATED_BODY()

public:
	virtual FText GetDescription() const override;

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

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