42 lines
1.2 KiB
C++
42 lines
1.2 KiB
C++
// © 2025 Naked People Team. All Rights Reserved.
|
|
|
|
|
|
#include "WearOnlyUnderwearObjective.h"
|
|
|
|
#include "NakedDesire/Clothing/ClothingManager.h"
|
|
#include "NakedDesire/Player/NakedDesireCharacter.h"
|
|
|
|
#define LOCTEXT_NAMESPACE "Commissions.Objectives.WearOnlyUnderwear"
|
|
|
|
bool UWearOnlyUnderwearObjective::IsConditionMet() const
|
|
{
|
|
if (!Player || !Player->ClothingManager)
|
|
return false;
|
|
|
|
UClothingManager* CM = Player->ClothingManager;
|
|
|
|
const bool bUnderwearWorn =
|
|
CM->IsClothingTypeOn(EClothingSlotType::UnderwearTop) ||
|
|
CM->IsClothingTypeOn(EClothingSlotType::UnderwearBottom);
|
|
|
|
const bool bOuterClear =
|
|
!CM->IsClothingTypeOn(EClothingSlotType::Outerwear) &&
|
|
!CM->IsClothingTypeOn(EClothingSlotType::Top) &&
|
|
!CM->IsClothingTypeOn(EClothingSlotType::Bottom) &&
|
|
!CM->IsClothingTypeOn(EClothingSlotType::Bodysuit);
|
|
|
|
return bUnderwearWorn && bOuterClear;
|
|
}
|
|
|
|
FText UWearOnlyUnderwearObjective::GetDescription() const
|
|
{
|
|
if (RequiredHoldSeconds > 0.0f)
|
|
{
|
|
return FText::Format(LOCTEXT("Timed", "Stay in just your underwear for {0} seconds"),
|
|
FText::AsNumber(FMath::RoundToInt(RequiredHoldSeconds)));
|
|
}
|
|
|
|
return LOCTEXT("Instant", "Strip down to just your underwear");
|
|
}
|
|
|
|
#undef LOCTEXT_NAMESPACE |