Fix common ui input settings, equipment menu initialization order

This commit is contained in:
2026-05-27 20:52:56 +03:00
parent 7776083897
commit bc498d98a8
12 changed files with 27 additions and 31 deletions
+2 -2
View File
@@ -13,8 +13,8 @@ ProjectDisplayedTitle=NSLOCTEXT("[/Script/EngineSettings]", "67F2166BC54742EF9F5
ProjectDebugTitleInfo=NSLOCTEXT("[/Script/EngineSettings]", "6D0073BB1F41C8C4E21284B87D77ED5C", "Naked Desire")
[/Script/CommonInput.CommonInputSettings]
InputData=/Game/Input/NakedDesireInputData.NakedDesireInputData_C
ActionDomainTable=/Game/Input/InputActionDomainTable.InputActionDomainTable
InputData=/Game/Input/CommonUI/NakedDesireInputData.NakedDesireInputData_C
ActionDomainTable=/Game/Input/CommonUI/InputActionDomainTable.InputActionDomainTable
[CommonInputPlatformSettings_Windows CommonInputPlatformSettings]
DefaultInputType=MouseAndKeyboard
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -12,7 +12,7 @@ class NAKEDDESIRE_API ANakedDesireHUD : public AHUD
GENERATED_BODY()
public:
UGameLayoutWidget* GetGameLayout() const { return GameLayoutWidget; }
UGameLayoutWidget* GetGameLayoutWidget() const { return GameLayoutWidget; }
protected:
UPROPERTY(EditDefaultsOnly, Category = "UI")
@@ -20,6 +20,7 @@
#include "NakedDesire/Global/NakedDesireHUD.h"
#include "NakedDesire/Global/NakedDesireUserSettings.h"
#include "NakedDesire/UI/GameLayoutWidget.h"
#include "NakedDesire/UI/HUDWidget.h"
#include "NakedDesire/UI/RadialMenu/RadialMenuController.h"
#include "Perception/AIPerceptionStimuliSourceComponent.h"
#include "Perception/AISense_Sight.h"
@@ -370,7 +371,7 @@ void ANakedDesireCharacter::OnCrouchToggle(const FInputActionValue& Value)
void ANakedDesireCharacter::OnEquipmentPress(const FInputActionValue& Value)
{
HUD->GetGameLayout()->OpenInventory();
HUD->GetGameLayoutWidget()->OpenInventory();
}
void ANakedDesireCharacter::BuildRadialMenuEntries()
+1 -4
View File
@@ -6,10 +6,7 @@
#include "CommonUserWidget.h"
#include "HUDWidget.generated.h"
/**
*
*/
UCLASS()
UCLASS(Abstract)
class NAKEDDESIRE_API UHUDWidget : public UCommonUserWidget
{
GENERATED_BODY()
@@ -4,6 +4,9 @@
#include "EquipmentPanelWidget.h"
#include "EquipmentSlotWidget.h"
#include "Kismet/GameplayStatics.h"
#include "NakedDesire/Clothing/ClothingManager.h"
#include "NakedDesire/Player/NakedDesireCharacter.h"
void UEquipmentPanelWidget::NativeConstruct()
{
@@ -11,6 +14,8 @@ void UEquipmentPanelWidget::NativeConstruct()
InitSlotTypes();
const ANakedDesireCharacter* Player = Cast<ANakedDesireCharacter>(UGameplayStatics::GetPlayerCharacter(GetWorld(), 0));
const TArray<UEquipmentSlotWidget*> AllSlots = {
NipplesSlot, AnalSlot, VaginaSlot,
HeadSlot, NeckSlot, FaceSlot, EyesSlot,
@@ -20,11 +25,15 @@ void UEquipmentPanelWidget::NativeConstruct()
WristRestraintSlot, AnkleRestraintSlot, NeckRestraintSlot
};
for (UEquipmentSlotWidget* Slot : AllSlots)
for (UEquipmentSlotWidget* SlotWidget : AllSlots)
{
if (Slot)
if (SlotWidget)
{
Slot->OnEquipmentSlotClicked.BindUObject(this, &UEquipmentPanelWidget::HandleSlotClicked);
SlotWidget->OnEquipmentSlotClicked.BindUObject(this, &UEquipmentPanelWidget::HandleSlotClicked);
if (UClothingItemInstance* Item = Player->ClothingManager->GetSlotClothing(SlotWidget->GetSlotType()))
SlotWidget->SetItem(Item);
else
SlotWidget->ClearItem();
}
}
}
@@ -15,6 +15,7 @@ void UEquipmentSlotWidget::SetItem(UClothingItemInstance* InItem)
IconImage->SetBrushFromTexture(InItem->GetClothingItem()->Icon);
IconImage->SetVisibility(ESlateVisibility::SelfHitTestInvisible);
PlaceholderImage->SetVisibility(ESlateVisibility::Hidden);
SetIsEnabled(true);
}
@@ -24,6 +25,7 @@ void UEquipmentSlotWidget::ClearItem()
IconImage->SetBrushFromTexture(nullptr);
IconImage->SetVisibility(ESlateVisibility::Hidden);
PlaceholderImage->SetVisibility(ESlateVisibility::SelfHitTestInvisible);
SetIsEnabled(false);
}
@@ -81,9 +83,4 @@ void UEquipmentSlotWidget::NativeConstruct()
Player->ClothingManager->OnClothingEquip.AddUniqueDynamic(this, &UEquipmentSlotWidget::OnClothingEquip);
Player->ClothingManager->OnClothingUnequip.AddUniqueDynamic(this, &UEquipmentSlotWidget::OnClothingUnequip);
if (UClothingItemInstance* Item = Player->ClothingManager->GetSlotClothing(SlotType))
SetItem(Item);
else
ClearItem();
}
@@ -37,13 +37,6 @@ void UInventoryScreenWidget::NativeOnActivated()
CloseMenu();
}
void UInventoryScreenWidget::NativeOnDeactivated()
{
Super::NativeOnDeactivated();
CloseMenu();
}
void UInventoryScreenWidget::HandleSlotClicked(UEquipmentSlotWidget* SlotWidget)
{
if (!EquipmentSlotMenuWidget || !SlotWidget)
@@ -28,7 +28,6 @@ class NAKEDDESIRE_API UInventoryScreenWidget : public UCommonActivatableWidget
protected:
virtual void NativeOnActivated() override;
virtual void NativeOnDeactivated() override;
private:
void HandleSlotClicked(UEquipmentSlotWidget* SlotWidget);