// © 2025 Naked People Team. All Rights Reserved. #pragma once #include "CoreMinimal.h" #include "CommonUserWidget.h" #include "NakedDesire/Clothing/ClothingSlotType.h" #include "EquipmentSlotMenuWidget.generated.h" class ANakedDesireCharacter; class UButton; UCLASS(Abstract) class NAKEDDESIRE_API UEquipmentSlotMenuWidget : public UCommonUserWidget { GENERATED_BODY() public: // bInAtWardrobe makes Remove store the garment in the wardrobe instead of dropping it (§6.5). void Init(EClothingSlotType InSlotType, bool bInAtWardrobe = false); EClothingSlotType GetSlotType() const { return SlotType; } DECLARE_MULTICAST_DELEGATE(FOnActionPerformed); FOnActionPerformed OnActionPerformed; protected: virtual void NativeConstruct() override; private: UPROPERTY(meta = (BindWidget)) TObjectPtr RemoveClothingBtn; UPROPERTY() TObjectPtr Player; UPROPERTY() EClothingSlotType SlotType; bool bAtWardrobe = false; UFUNCTION() void OnRemoveClothingClicked(); };