Clothing system refactor

This commit is contained in:
olehhapuk
2026-05-29 22:13:09 +03:00
parent b6b81caf4e
commit 1c8ee03083
59 changed files with 417 additions and 227 deletions
@@ -2,7 +2,7 @@
#include "EquipClothingRestriction.h"
#include "NakedDesire/Clothing/ClothingItem.h"
#include "NakedDesire/Clothing/ClothingItemDefinition.h"
#include "NakedDesire/Clothing/ClothingItemInstance.h"
#include "NakedDesire/Clothing/ClothingManager.h"
#include "NakedDesire/Player/NakedDesireCharacter.h"
@@ -65,9 +65,9 @@ FText UEquipClothingRestriction::GetDescription() const
void UEquipClothingRestriction::OnClothingEquipped(UClothingItemInstance* ClothingItemInstance)
{
const bool IsTargetClothing = ClothingItems.FindByPredicate([&ClothingItemInstance](const UClothingItem* Item)
const bool IsTargetClothing = ClothingItems.FindByPredicate([&ClothingItemInstance](const UClothingItemDefinition* Item)
{
return Item && Item->Name.EqualTo(ClothingItemInstance->GetClothingItem()->Name);
return Item && Item->Name.EqualTo(ClothingItemInstance->GetClothingItemDefinition()->Name);
}) != nullptr;
if (IsTargetClothing)
{
@@ -77,9 +77,9 @@ void UEquipClothingRestriction::OnClothingEquipped(UClothingItemInstance* Clothi
void UEquipClothingRestriction::OnClothingUnequipped(UClothingItemInstance* ClothingItemInstance)
{
const bool IsTargetClothing = ClothingItems.FindByPredicate([&ClothingItemInstance](const UClothingItem* Item)
const bool IsTargetClothing = ClothingItems.FindByPredicate([&ClothingItemInstance](const UClothingItemDefinition* Item)
{
return Item && Item->Name.EqualTo(ClothingItemInstance->GetClothingItem()->Name);
return Item && Item->Name.EqualTo(ClothingItemInstance->GetClothingItemDefinition()->Name);
}) != nullptr;
if (IsTargetClothing)
{
@@ -7,7 +7,7 @@
#include "EquipClothingRestriction.generated.h"
class UClothingItemInstance;
class UClothingItem;
class UClothingItemDefinition;
UCLASS(EditInlineNew)
class NAKEDDESIRE_API UEquipClothingRestriction : public UGoalRestriction
@@ -16,7 +16,7 @@ class NAKEDDESIRE_API UEquipClothingRestriction : public UGoalRestriction
UPROPERTY(EditDefaultsOnly, meta = (ToolTip =
"One of provided clothing items should be equipped by player. If multiple clothing items required provide multiple restrictions"))
TArray<UClothingItem*> ClothingItems;
TArray<UClothingItemDefinition*> ClothingItems;
public:
virtual void Init(ANakedDesireCharacter* PlayerCharacter) override;
@@ -3,7 +3,7 @@
#include "ExposeBodyPartRestriction.h"
#include "NakedDesire/Clothing/ClothingItem.h"
#include "NakedDesire/Clothing/ClothingItemDefinition.h"
#include "NakedDesire/Clothing/ClothingItemInstance.h"
#include "NakedDesire/Player/NakedDesireCharacter.h"
#include "NakedDesire/Clothing/ClothingManager.h"