Get Select Weapon Menu mostly working
This commit is contained in:
parent
1fea57b459
commit
1625c0012e
BIN
Content/Widgets/MainMenu/BP_SelectWeaponWidget.uasset
(Stored with Git LFS)
BIN
Content/Widgets/MainMenu/BP_SelectWeaponWidget.uasset
(Stored with Git LFS)
Binary file not shown.
@ -6,7 +6,6 @@
|
|||||||
#include "CustomButton.h"
|
#include "CustomButton.h"
|
||||||
#include "StarterWeaponButtonDataObject.h"
|
#include "StarterWeaponButtonDataObject.h"
|
||||||
#include "StarterWeaponButtonWidget.h"
|
#include "StarterWeaponButtonWidget.h"
|
||||||
#include "Components/Button.h"
|
|
||||||
#include "Components/ScrollBox.h"
|
#include "Components/ScrollBox.h"
|
||||||
#include "Kismet/GameplayStatics.h"
|
#include "Kismet/GameplayStatics.h"
|
||||||
|
|
||||||
@ -17,6 +16,7 @@ void USelectWeaponWidget::NativeConstruct()
|
|||||||
if (BackButton)
|
if (BackButton)
|
||||||
{
|
{
|
||||||
BackButton->OnClicked.AddUniqueDynamic(this, &USelectWeaponWidget::BackButtonClicked);
|
BackButton->OnClicked.AddUniqueDynamic(this, &USelectWeaponWidget::BackButtonClicked);
|
||||||
|
BackButton->OnFocused.AddUniqueDynamic(this, &USelectWeaponWidget::BackButtonFocused);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (StarterWeaponsScrollBox && StarterWeaponButtonWidgetTemplate)
|
if (StarterWeaponsScrollBox && StarterWeaponButtonWidgetTemplate)
|
||||||
@ -41,6 +41,13 @@ void USelectWeaponWidget::NativeConstruct()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
FReply USelectWeaponWidget::NativeOnMouseButtonUp(const FGeometry& InGeometry, const FPointerEvent& InMouseEvent)
|
||||||
|
{
|
||||||
|
CurrentFocus->SetKeyboardFocus();
|
||||||
|
|
||||||
|
return Super::NativeOnMouseButtonUp(InGeometry, InMouseEvent);
|
||||||
|
}
|
||||||
|
|
||||||
void USelectWeaponWidget::BackButtonClicked()
|
void USelectWeaponWidget::BackButtonClicked()
|
||||||
{
|
{
|
||||||
if (PreviousWidget)
|
if (PreviousWidget)
|
||||||
@ -56,3 +63,8 @@ void USelectWeaponWidget::BackButtonClicked()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void USelectWeaponWidget::BackButtonFocused(FFocusEvent InFocusEvent)
|
||||||
|
{
|
||||||
|
SetCurrentFocus(BackButton);
|
||||||
|
}
|
||||||
|
@ -42,9 +42,14 @@ protected:
|
|||||||
|
|
||||||
virtual void NativeConstruct() override;
|
virtual void NativeConstruct() override;
|
||||||
|
|
||||||
|
virtual FReply NativeOnMouseButtonUp(const FGeometry& InGeometry, const FPointerEvent& InMouseEvent) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
UFUNCTION()
|
UFUNCTION()
|
||||||
void BackButtonClicked();
|
void BackButtonClicked();
|
||||||
|
|
||||||
|
UFUNCTION()
|
||||||
|
void BackButtonFocused(FFocusEvent InFocusEvent);
|
||||||
|
|
||||||
TArray<TObjectPtr<UStarterWeaponButtonWidget>> Buttons;
|
TArray<TObjectPtr<UStarterWeaponButtonWidget>> Buttons;
|
||||||
};
|
};
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
|
|
||||||
#include "StarterWeaponButtonWidget.h"
|
#include "StarterWeaponButtonWidget.h"
|
||||||
|
|
||||||
|
#include "SelectWeaponWidget.h"
|
||||||
#include "StarterWeaponButtonDataObject.h"
|
#include "StarterWeaponButtonDataObject.h"
|
||||||
#include "Blueprint/WidgetBlueprintLibrary.h"
|
#include "Blueprint/WidgetBlueprintLibrary.h"
|
||||||
#include "Components/Image.h"
|
#include "Components/Image.h"
|
||||||
@ -10,6 +11,13 @@
|
|||||||
#include "Kismet/GameplayStatics.h"
|
#include "Kismet/GameplayStatics.h"
|
||||||
#include "vampires/VampireGameInstance.h"
|
#include "vampires/VampireGameInstance.h"
|
||||||
|
|
||||||
|
void UStarterWeaponButtonWidget::NativeConstruct()
|
||||||
|
{
|
||||||
|
Super::NativeConstruct();
|
||||||
|
|
||||||
|
OnFocused.AddUniqueDynamic(this, &UStarterWeaponButtonWidget::SetFocusInParent);
|
||||||
|
}
|
||||||
|
|
||||||
void UStarterWeaponButtonWidget::SetData(UStarterWeaponButtonDataObject* ListItemObject)
|
void UStarterWeaponButtonWidget::SetData(UStarterWeaponButtonDataObject* ListItemObject)
|
||||||
{
|
{
|
||||||
if (UStarterWeaponButtonDataObject* Item = Cast<UStarterWeaponButtonDataObject>(ListItemObject))
|
if (UStarterWeaponButtonDataObject* Item = Cast<UStarterWeaponButtonDataObject>(ListItemObject))
|
||||||
@ -44,3 +52,11 @@ void UStarterWeaponButtonWidget::OnButtonClicked()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void UStarterWeaponButtonWidget::SetFocusInParent(FFocusEvent InFocusEvent)
|
||||||
|
{
|
||||||
|
if (USelectWeaponWidget* StarterMenu = Cast<USelectWeaponWidget>(Parent))
|
||||||
|
{
|
||||||
|
StarterMenu->SetCurrentFocus(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -33,9 +33,15 @@ class VAMPIRES_API UStarterWeaponButtonWidget : public UCustomButton, public IUs
|
|||||||
UPROPERTY()
|
UPROPERTY()
|
||||||
TObjectPtr<UUserWidget> Parent;
|
TObjectPtr<UUserWidget> Parent;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual void NativeConstruct() override;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void SetData(UStarterWeaponButtonDataObject* ListItemObject);
|
void SetData(UStarterWeaponButtonDataObject* ListItemObject);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
virtual void OnButtonClicked() override;
|
virtual void OnButtonClicked() override;
|
||||||
|
|
||||||
|
UFUNCTION()
|
||||||
|
void SetFocusInParent(FFocusEvent InFocusEvent);
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user