Added wardrobe

This commit is contained in:
2026-05-31 21:00:55 +03:00
parent 49310a992b
commit f94dce1bfb
39 changed files with 787 additions and 111 deletions
@@ -0,0 +1,60 @@
// © 2025 Naked People Team. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "CommonButtonBase.h"
#include "Components/Image.h"
#include "NakedDesire/Clothing/ClothingSlotType.h"
#include "EquipmentSlotWidget.generated.h"
class UEquipmentSlotMenuWidget;
class ANakedDesireCharacter;
class UClothingSlotsData;
class UClothingItemInstance;
UCLASS(Abstract)
class NAKEDDESIRE_API UEquipmentSlotWidget : public UCommonButtonBase
{
GENERATED_BODY()
public:
void SetItem(UClothingItemInstance* InItem);
void ClearItem();
EClothingSlotType GetSlotType() const { return SlotType; }
void SetSlotType(EClothingSlotType InSlotType);
virtual void NativeConstruct() override;
DECLARE_DELEGATE_OneParam(FOnEquipmentSlotClicked, UEquipmentSlotWidget* EquipmentSLotWidget)
FOnEquipmentSlotClicked OnEquipmentSlotClicked;
protected:
virtual void NativeOnClicked() override;
virtual void NativePreConstruct() override;
UPROPERTY(EditDefaultsOnly)
TObjectPtr<UClothingSlotsData> ClothingSlotsData;
private:
UPROPERTY(meta = (BindWIdget))
TObjectPtr<UImage> PlaceholderImage;
UPROPERTY(meta = (BindWIdget))
TObjectPtr<UImage> IconImage;
UPROPERTY()
TObjectPtr<UClothingItemInstance> ClothingItemInstance = nullptr;
UPROPERTY()
EClothingSlotType SlotType = EClothingSlotType::Anal;
UFUNCTION()
void OnClothingEquip(UClothingItemInstance* InClothingItemInstance);
UFUNCTION()
void OnClothingUnequip(UClothingItemInstance* InClothingItemInstance);
void InitSlotVisuals();
};