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/UserWidget.h"
|
||||||
#include "Blueprint/WidgetBlueprintLibrary.h"
|
#include "Blueprint/WidgetBlueprintLibrary.h"
|
||||||
#include "Kismet/GameplayStatics.h"
|
#include "Kismet/GameplayStatics.h"
|
||||||
|
#include "Widgets/CustomButton.h"
|
||||||
#include "Widgets/GameOverWidget.h"
|
#include "Widgets/GameOverWidget.h"
|
||||||
#include "Widgets/HUDWidget.h"
|
#include "Widgets/HUDWidget.h"
|
||||||
#include "Widgets/LevelUpWidget.h"
|
#include "Widgets/LevelUpWidget.h"
|
||||||
@ -126,7 +127,7 @@ void AVampirePlayerController::OnPause(const FInputActionValue& PauseInput)
|
|||||||
if (CurrentPauseUI)
|
if (CurrentPauseUI)
|
||||||
{
|
{
|
||||||
CurrentPauseUI->AddToViewport();
|
CurrentPauseUI->AddToViewport();
|
||||||
UWidgetBlueprintLibrary::SetInputMode_UIOnlyEx(this, CurrentPauseUI, EMouseLockMode::LockInFullscreen);
|
UWidgetBlueprintLibrary::SetInputMode_UIOnlyEx(this, CurrentPauseUI->ResumeButton, EMouseLockMode::LockInFullscreen);
|
||||||
bShowMouseCursor = true;
|
bShowMouseCursor = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -13,17 +13,28 @@ void UPauseWidget::NativeConstruct()
|
|||||||
{
|
{
|
||||||
Super::NativeConstruct();
|
Super::NativeConstruct();
|
||||||
|
|
||||||
|
SetIsFocusable(false);
|
||||||
|
|
||||||
if (ResumeButton)
|
if (ResumeButton)
|
||||||
{
|
{
|
||||||
ResumeButton->OnClicked.AddUniqueDynamic(this, &UPauseWidget::ResumeButtonOnClicked);
|
ResumeButton->OnClicked.AddUniqueDynamic(this, &UPauseWidget::ResumeButtonOnClicked);
|
||||||
|
ResumeButton->OnFocused.AddUniqueDynamic(this, &UPauseWidget::ResumeButtonOnFocused);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ReturnToMainMenuButton)
|
if (ReturnToMainMenuButton)
|
||||||
{
|
{
|
||||||
ReturnToMainMenuButton->OnClicked.AddUniqueDynamic(this, &UPauseWidget::ReturnToMainMenuButtonOnClicked);
|
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()
|
void UPauseWidget::ResumeButtonOnClicked()
|
||||||
@ -36,8 +47,11 @@ void UPauseWidget::ResumeButtonOnClicked()
|
|||||||
PlayerController->bShowMouseCursor = false;
|
PlayerController->bShowMouseCursor = false;
|
||||||
PlayerController->SetPause(false);
|
PlayerController->SetPause(false);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
SetIsFocusable(false);
|
void UPauseWidget::ResumeButtonOnFocused(FFocusEvent InFocusEvent)
|
||||||
|
{
|
||||||
|
SetCurrentFocus(ResumeButton);
|
||||||
}
|
}
|
||||||
|
|
||||||
void UPauseWidget::ReturnToMainMenuButtonOnClicked()
|
void UPauseWidget::ReturnToMainMenuButtonOnClicked()
|
||||||
@ -56,3 +70,8 @@ void UPauseWidget::ReturnToMainMenuButtonOnClicked()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void UPauseWidget::ReturnToMainMenuButtonOnFocused(FFocusEvent InFocusEvent)
|
||||||
|
{
|
||||||
|
SetCurrentFocus(ReturnToMainMenuButton);
|
||||||
|
}
|
||||||
|
@ -13,21 +13,32 @@ class UCustomButton;
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
UCLASS()
|
UCLASS()
|
||||||
class VAMPIRES_API UPauseWidget : public UUserWidget
|
class VAMPIRES_API UPauseWidget : public UVampireInteractiveWidget
|
||||||
{
|
{
|
||||||
GENERATED_BODY()
|
GENERATED_BODY()
|
||||||
|
|
||||||
|
public:
|
||||||
UPROPERTY(meta=(BindWidget))
|
UPROPERTY(meta=(BindWidget))
|
||||||
TObjectPtr<UCustomButton> ResumeButton;
|
TObjectPtr<UCustomButton> ResumeButton;
|
||||||
|
|
||||||
UPROPERTY(meta=(BindWidget))
|
UPROPERTY(meta=(BindWidget))
|
||||||
TObjectPtr<UCustomButton> ReturnToMainMenuButton;
|
TObjectPtr<UCustomButton> ReturnToMainMenuButton;
|
||||||
|
|
||||||
|
protected:
|
||||||
virtual void NativeConstruct() override;
|
virtual void NativeConstruct() override;
|
||||||
|
|
||||||
|
virtual FReply NativeOnMouseButtonUp(const FGeometry& InGeometry, const FPointerEvent& InMouseEvent) override;
|
||||||
|
|
||||||
|
private:
|
||||||
UFUNCTION()
|
UFUNCTION()
|
||||||
void ResumeButtonOnClicked();
|
void ResumeButtonOnClicked();
|
||||||
|
|
||||||
|
UFUNCTION()
|
||||||
|
void ResumeButtonOnFocused(FFocusEvent InFocusEvent);
|
||||||
|
|
||||||
UFUNCTION()
|
UFUNCTION()
|
||||||
void ReturnToMainMenuButtonOnClicked();
|
void ReturnToMainMenuButtonOnClicked();
|
||||||
|
|
||||||
|
UFUNCTION()
|
||||||
|
void ReturnToMainMenuButtonOnFocused(FFocusEvent InFocusEvent);
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user