Convert Pause Menu to use Custom Buttons
This commit is contained in:
parent
a8d6e76fbf
commit
810a833cb5
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.
@ -19,7 +19,7 @@ void UCustomButton::NativeConstruct()
|
||||
ButtonBody->OnHovered.AddUniqueDynamic(this, &UCustomButton::OnButtonHovered);
|
||||
ButtonBody->OnUnhovered.AddUniqueDynamic(this, &UCustomButton::OnButtonUnhovered);
|
||||
|
||||
TextBlock->SetText(ButtonText);
|
||||
SynchronizeProperties();
|
||||
}
|
||||
|
||||
void UCustomButton::SynchronizeProperties()
|
||||
@ -27,6 +27,10 @@ void UCustomButton::SynchronizeProperties()
|
||||
Super::SynchronizeProperties();
|
||||
|
||||
TextBlock->SetText(ButtonText);
|
||||
|
||||
FSlateFontInfo Font = TextBlock->GetFont();
|
||||
Font.Size = TextSize;
|
||||
TextBlock->SetFont(Font);
|
||||
}
|
||||
|
||||
TObjectPtr<UTextBlock> UCustomButton::GetTextBlock()
|
||||
|
@ -41,6 +41,9 @@ public:
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Button Settings | Text")
|
||||
FText ButtonText = FText::FromString("Default");
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Button Settings | Text")
|
||||
int TextSize = 30.0f;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Button Settings | Color")
|
||||
FLinearColor ButtonHoveredTextColor = {0, 1, 0, 1};
|
||||
|
@ -4,7 +4,6 @@
|
||||
#include "MainMenuWidget.h"
|
||||
|
||||
#include "CustomButton.h"
|
||||
#include "SelectWeaponWidget.h"
|
||||
#include "Blueprint/WidgetBlueprintLibrary.h"
|
||||
#include "Components/Button.h"
|
||||
#include "Kismet/GameplayStatics.h"
|
||||
@ -40,7 +39,7 @@ void UMainMenuWidget::NativeConstruct()
|
||||
FReply UMainMenuWidget::NativeOnMouseButtonUp(const FGeometry& InGeometry, const FPointerEvent& InMouseEvent)
|
||||
{
|
||||
NewGameButton->SetKeyboardFocus();
|
||||
|
||||
|
||||
return Super::NativeOnMouseButtonUp(InGeometry, InMouseEvent);
|
||||
}
|
||||
|
||||
@ -82,4 +81,4 @@ void UMainMenuWidget::QuitButtonOnClicked()
|
||||
// This is not a bit deal for the moment as we are only building for windows
|
||||
// For some reason the generic version does not work the same as FWindowsPlatformMisc
|
||||
FWindowsPlatformMisc::RequestExit(false);
|
||||
}
|
||||
}
|
||||
|
@ -7,7 +7,6 @@
|
||||
#include "MainMenuWidget.generated.h"
|
||||
|
||||
class UCustomButton;
|
||||
class UButton;
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ -15,7 +14,7 @@ UCLASS()
|
||||
class VAMPIRES_API UMainMenuWidget : public UUserWidget
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
|
||||
UPROPERTY(meta = (BindWidget))
|
||||
TObjectPtr<UCustomButton> NewGameButton;
|
||||
|
||||
|
@ -3,6 +3,7 @@
|
||||
|
||||
#include "PauseWidget.h"
|
||||
|
||||
#include "CustomButton.h"
|
||||
#include "Blueprint/WidgetBlueprintLibrary.h"
|
||||
#include "Components/Button.h"
|
||||
#include "Kismet/GameplayStatics.h"
|
||||
@ -15,15 +16,11 @@ void UPauseWidget::NativeConstruct()
|
||||
if (ResumeButton)
|
||||
{
|
||||
ResumeButton->OnClicked.AddUniqueDynamic(this, &UPauseWidget::ResumeButtonOnClicked);
|
||||
ResumeButton->OnHovered.AddUniqueDynamic(this, &UPauseWidget::ResumeButtonOnHovered);
|
||||
ResumeButton->OnUnhovered.AddUniqueDynamic(this, &UPauseWidget::ResumeButtonOnUnhovered);
|
||||
}
|
||||
|
||||
if (ReturnToMainMenuButton)
|
||||
{
|
||||
ReturnToMainMenuButton->OnClicked.AddUniqueDynamic(this, &UPauseWidget::ReturnToMainMenuButtonOnClicked);
|
||||
ReturnToMainMenuButton->OnHovered.AddUniqueDynamic(this, &UPauseWidget::ReturnToMainMenuButtonOnHovered);
|
||||
ReturnToMainMenuButton->OnUnhovered.AddUniqueDynamic(this, &UPauseWidget::ReturnToMainMenuButtonOnUnhovered);
|
||||
}
|
||||
|
||||
SetIsFocusable(true);
|
||||
@ -43,19 +40,6 @@ void UPauseWidget::ResumeButtonOnClicked()
|
||||
SetIsFocusable(false);
|
||||
}
|
||||
|
||||
|
||||
void UPauseWidget::ResumeButtonOnHovered()
|
||||
{
|
||||
SetTextBlockHovered(ResumeTextBlock);
|
||||
PlayHoveredSound();
|
||||
}
|
||||
|
||||
void UPauseWidget::ResumeButtonOnUnhovered()
|
||||
{
|
||||
SetTextBlockUnhovered(ResumeTextBlock);
|
||||
PlayUnhoveredSound();
|
||||
}
|
||||
|
||||
void UPauseWidget::ReturnToMainMenuButtonOnClicked()
|
||||
{
|
||||
if (UVampireGameInstance* GameInstance = Cast<UVampireGameInstance>(GetGameInstance()))
|
||||
@ -72,16 +56,3 @@ void UPauseWidget::ReturnToMainMenuButtonOnClicked()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void UPauseWidget::ReturnToMainMenuButtonOnHovered()
|
||||
{
|
||||
SetTextBlockHovered(ReturnToMainMenuTextBlock);
|
||||
PlayHoveredSound();
|
||||
}
|
||||
|
||||
void UPauseWidget::ReturnToMainMenuButtonOnUnhovered()
|
||||
{
|
||||
SetTextBlockUnhovered(ReturnToMainMenuTextBlock);
|
||||
PlayUnhoveredSound();
|
||||
}
|
||||
|
||||
|
@ -7,45 +7,27 @@
|
||||
#include "Blueprint/UserWidget.h"
|
||||
#include "PauseWidget.generated.h"
|
||||
|
||||
class UButton;
|
||||
class UCustomButton;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
UCLASS()
|
||||
class VAMPIRES_API UPauseWidget : public UVampireInteractiveWidget
|
||||
class VAMPIRES_API UPauseWidget : public UUserWidget
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
UPROPERTY(meta=(BindWidget))
|
||||
TObjectPtr<UButton> ResumeButton;
|
||||
|
||||
UPROPERTY(meta=(BindWidget))
|
||||
TObjectPtr<UTextBlock> ResumeTextBlock;
|
||||
|
||||
UPROPERTY(meta=(BindWidget))
|
||||
TObjectPtr<UButton> ReturnToMainMenuButton;
|
||||
TObjectPtr<UCustomButton> ResumeButton;
|
||||
|
||||
UPROPERTY(meta=(BindWidget))
|
||||
TObjectPtr<UTextBlock> ReturnToMainMenuTextBlock;
|
||||
TObjectPtr<UCustomButton> ReturnToMainMenuButton;
|
||||
|
||||
virtual void NativeConstruct() override;
|
||||
|
||||
UFUNCTION()
|
||||
void ResumeButtonOnClicked();
|
||||
|
||||
UFUNCTION()
|
||||
void ResumeButtonOnHovered();
|
||||
|
||||
UFUNCTION()
|
||||
void ResumeButtonOnUnhovered();
|
||||
void ResumeButtonOnClicked();
|
||||
|
||||
UFUNCTION()
|
||||
void ReturnToMainMenuButtonOnClicked();
|
||||
|
||||
UFUNCTION()
|
||||
void ReturnToMainMenuButtonOnHovered();
|
||||
|
||||
UFUNCTION()
|
||||
void ReturnToMainMenuButtonOnUnhovered();
|
||||
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user