Added commissions system
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
// © 2025 Naked People Team. All Rights Reserved.
|
||||
|
||||
|
||||
#include "CoverageObjectiveBase.h"
|
||||
|
||||
#include "NakedDesire/Clothing/ClothingManager.h"
|
||||
#include "NakedDesire/Player/NakedDesireCharacter.h"
|
||||
|
||||
void UCoverageObjectiveBase::OnActivate()
|
||||
{
|
||||
Super::OnActivate(); // observer subscription
|
||||
|
||||
if (Player && Player->ClothingManager)
|
||||
{
|
||||
Player->ClothingManager->OnClothingEquip.AddUniqueDynamic(this, &UCoverageObjectiveBase::HandleClothingChanged);
|
||||
Player->ClothingManager->OnClothingUnequip.AddUniqueDynamic(this, &UCoverageObjectiveBase::HandleClothingChanged);
|
||||
}
|
||||
}
|
||||
|
||||
void UCoverageObjectiveBase::OnDeactivate()
|
||||
{
|
||||
if (Player && Player->ClothingManager)
|
||||
{
|
||||
Player->ClothingManager->OnClothingEquip.RemoveDynamic(this, &UCoverageObjectiveBase::HandleClothingChanged);
|
||||
Player->ClothingManager->OnClothingUnequip.RemoveDynamic(this, &UCoverageObjectiveBase::HandleClothingChanged);
|
||||
}
|
||||
|
||||
Super::OnDeactivate(); // observer unsubscription
|
||||
}
|
||||
|
||||
bool UCoverageObjectiveBase::IsFullyNaked() const
|
||||
{
|
||||
if (!Player || !Player->ClothingManager)
|
||||
return false;
|
||||
|
||||
UClothingManager* CM = Player->ClothingManager;
|
||||
return CM->GetEffectiveCoverage(EBodyPart::Boobs) <= 0.0f
|
||||
&& CM->GetEffectiveCoverage(EBodyPart::Ass) <= 0.0f
|
||||
&& CM->GetEffectiveCoverage(EBodyPart::Genitals) <= 0.0f;
|
||||
}
|
||||
|
||||
bool UCoverageObjectiveBase::IsPartRevealing(EBodyPart Part) const
|
||||
{
|
||||
if (!Player || !Player->ClothingManager)
|
||||
return false;
|
||||
|
||||
return Player->ClothingManager->GetEffectiveCoverage(Part) < Player->ObservationRevealThreshold;
|
||||
}
|
||||
|
||||
bool UCoverageObjectiveBase::IsAnyPartRevealing() const
|
||||
{
|
||||
return IsPartRevealing(EBodyPart::Boobs)
|
||||
|| IsPartRevealing(EBodyPart::Ass)
|
||||
|| IsPartRevealing(EBodyPart::Genitals);
|
||||
}
|
||||
|
||||
void UCoverageObjectiveBase::HandleClothingChanged(UClothingItemInstance* ClothingItemInstance)
|
||||
{
|
||||
NotifyConditionChanged();
|
||||
}
|
||||
Reference in New Issue
Block a user