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