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