Update Pause Menu to custom buttons
This commit is contained in:
parent
e6f04b30da
commit
20dbb97b7c
BIN
Content/Widgets/Pause/BP_PauseWidget.uasset
(Stored with Git LFS)
BIN
Content/Widgets/Pause/BP_PauseWidget.uasset
(Stored with Git LFS)
Binary file not shown.
@ -15,6 +15,7 @@
|
||||
#include "Blueprint/UserWidget.h"
|
||||
#include "Blueprint/WidgetBlueprintLibrary.h"
|
||||
#include "Kismet/GameplayStatics.h"
|
||||
#include "Widgets/CustomButton.h"
|
||||
#include "Widgets/GameOverWidget.h"
|
||||
#include "Widgets/HUDWidget.h"
|
||||
#include "Widgets/LevelUpWidget.h"
|
||||
@ -126,7 +127,7 @@ void AVampirePlayerController::OnPause(const FInputActionValue& PauseInput)
|
||||
if (CurrentPauseUI)
|
||||
{
|
||||
CurrentPauseUI->AddToViewport();
|
||||
UWidgetBlueprintLibrary::SetInputMode_UIOnlyEx(this, CurrentPauseUI, EMouseLockMode::LockInFullscreen);
|
||||
UWidgetBlueprintLibrary::SetInputMode_UIOnlyEx(this, CurrentPauseUI->ResumeButton, EMouseLockMode::LockInFullscreen);
|
||||
bShowMouseCursor = true;
|
||||
}
|
||||
}
|
||||
|
@ -13,17 +13,28 @@ void UPauseWidget::NativeConstruct()
|
||||
{
|
||||
Super::NativeConstruct();
|
||||
|
||||
SetIsFocusable(false);
|
||||
|
||||
if (ResumeButton)
|
||||
{
|
||||
ResumeButton->OnClicked.AddUniqueDynamic(this, &UPauseWidget::ResumeButtonOnClicked);
|
||||
ResumeButton->OnFocused.AddUniqueDynamic(this, &UPauseWidget::ResumeButtonOnFocused);
|
||||
}
|
||||
|
||||
if (ReturnToMainMenuButton)
|
||||
{
|
||||
ReturnToMainMenuButton->OnClicked.AddUniqueDynamic(this, &UPauseWidget::ReturnToMainMenuButtonOnClicked);
|
||||
ReturnToMainMenuButton->OnFocused.AddUniqueDynamic(this, &UPauseWidget::ReturnToMainMenuButtonOnFocused);
|
||||
}
|
||||
|
||||
SetIsFocusable(true);
|
||||
ResumeButton->SetKeyboardFocus();
|
||||
}
|
||||
|
||||
FReply UPauseWidget::NativeOnMouseButtonUp(const FGeometry& InGeometry, const FPointerEvent& InMouseEvent)
|
||||
{
|
||||
CurrentFocus->SetKeyboardFocus();
|
||||
|
||||
return Super::NativeOnMouseButtonUp(InGeometry, InMouseEvent);
|
||||
}
|
||||
|
||||
void UPauseWidget::ResumeButtonOnClicked()
|
||||
@ -36,8 +47,11 @@ void UPauseWidget::ResumeButtonOnClicked()
|
||||
PlayerController->bShowMouseCursor = false;
|
||||
PlayerController->SetPause(false);
|
||||
}
|
||||
}
|
||||
|
||||
SetIsFocusable(false);
|
||||
void UPauseWidget::ResumeButtonOnFocused(FFocusEvent InFocusEvent)
|
||||
{
|
||||
SetCurrentFocus(ResumeButton);
|
||||
}
|
||||
|
||||
void UPauseWidget::ReturnToMainMenuButtonOnClicked()
|
||||
@ -56,3 +70,8 @@ void UPauseWidget::ReturnToMainMenuButtonOnClicked()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void UPauseWidget::ReturnToMainMenuButtonOnFocused(FFocusEvent InFocusEvent)
|
||||
{
|
||||
SetCurrentFocus(ReturnToMainMenuButton);
|
||||
}
|
||||
|
@ -13,21 +13,32 @@ class UCustomButton;
|
||||
*
|
||||
*/
|
||||
UCLASS()
|
||||
class VAMPIRES_API UPauseWidget : public UUserWidget
|
||||
class VAMPIRES_API UPauseWidget : public UVampireInteractiveWidget
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
public:
|
||||
UPROPERTY(meta=(BindWidget))
|
||||
TObjectPtr<UCustomButton> ResumeButton;
|
||||
|
||||
UPROPERTY(meta=(BindWidget))
|
||||
TObjectPtr<UCustomButton> ReturnToMainMenuButton;
|
||||
|
||||
protected:
|
||||
virtual void NativeConstruct() override;
|
||||
|
||||
virtual FReply NativeOnMouseButtonUp(const FGeometry& InGeometry, const FPointerEvent& InMouseEvent) override;
|
||||
|
||||
private:
|
||||
UFUNCTION()
|
||||
void ResumeButtonOnClicked();
|
||||
|
||||
UFUNCTION()
|
||||
void ResumeButtonOnFocused(FFocusEvent InFocusEvent);
|
||||
|
||||
UFUNCTION()
|
||||
void ReturnToMainMenuButtonOnClicked();
|
||||
|
||||
UFUNCTION()
|
||||
void ReturnToMainMenuButtonOnFocused(FFocusEvent InFocusEvent);
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user