Make Pause Widget a VampireInteractiveWidget
This commit is contained in:
parent
544b238739
commit
82ce0896d0
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.
@ -6,10 +6,7 @@
|
|||||||
#include "Blueprint/WidgetBlueprintLibrary.h"
|
#include "Blueprint/WidgetBlueprintLibrary.h"
|
||||||
#include "Components/Button.h"
|
#include "Components/Button.h"
|
||||||
#include "Kismet/GameplayStatics.h"
|
#include "Kismet/GameplayStatics.h"
|
||||||
|
#include "vampires/VampireGameInstance.h"
|
||||||
void UPauseWidget::Init()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void UPauseWidget::NativeConstruct()
|
void UPauseWidget::NativeConstruct()
|
||||||
{
|
{
|
||||||
@ -17,13 +14,22 @@ void UPauseWidget::NativeConstruct()
|
|||||||
|
|
||||||
if (ResumeButton)
|
if (ResumeButton)
|
||||||
{
|
{
|
||||||
ResumeButton->OnClicked.AddUniqueDynamic(this, &UPauseWidget::ResumeButtonClicked);
|
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);
|
SetIsFocusable(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void UPauseWidget::ResumeButtonClicked()
|
void UPauseWidget::ResumeButtonOnClicked()
|
||||||
{
|
{
|
||||||
RemoveFromParent();
|
RemoveFromParent();
|
||||||
|
|
||||||
@ -36,3 +42,46 @@ void UPauseWidget::ResumeButtonClicked()
|
|||||||
|
|
||||||
SetIsFocusable(false);
|
SetIsFocusable(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void UPauseWidget::ResumeButtonOnHovered()
|
||||||
|
{
|
||||||
|
SetTextBlockHovered(ResumeTextBlock);
|
||||||
|
PlayHoveredSound();
|
||||||
|
}
|
||||||
|
|
||||||
|
void UPauseWidget::ResumeButtonOnUnhovered()
|
||||||
|
{
|
||||||
|
SetTextBlockUnhovered(ResumeTextBlock);
|
||||||
|
PlayUnhoveredSound();
|
||||||
|
}
|
||||||
|
|
||||||
|
void UPauseWidget::ReturnToMainMenuButtonOnClicked()
|
||||||
|
{
|
||||||
|
if (UVampireGameInstance* GameInstance = Cast<UVampireGameInstance>(GetGameInstance()))
|
||||||
|
{
|
||||||
|
if (!GameInstance->MainMenuWorld.IsNull())
|
||||||
|
{
|
||||||
|
UGameplayStatics::OpenLevelBySoftObjectPtr(GetWorld(), GameInstance->MainMenuWorld);
|
||||||
|
|
||||||
|
if (APlayerController* PlayerController = UGameplayStatics::GetPlayerController(GetWorld(), 0))
|
||||||
|
{
|
||||||
|
PlayerController->bShowMouseCursor = true;
|
||||||
|
}
|
||||||
|
SetIsFocusable(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void UPauseWidget::ReturnToMainMenuButtonOnHovered()
|
||||||
|
{
|
||||||
|
SetTextBlockHovered(ReturnToMainMenuTextBlock);
|
||||||
|
PlayHoveredSound();
|
||||||
|
}
|
||||||
|
|
||||||
|
void UPauseWidget::ReturnToMainMenuButtonOnUnhovered()
|
||||||
|
{
|
||||||
|
SetTextBlockUnhovered(ReturnToMainMenuTextBlock);
|
||||||
|
PlayUnhoveredSound();
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "CoreMinimal.h"
|
#include "CoreMinimal.h"
|
||||||
|
#include "VampireInteractiveWidget.h"
|
||||||
#include "Blueprint/UserWidget.h"
|
#include "Blueprint/UserWidget.h"
|
||||||
#include "PauseWidget.generated.h"
|
#include "PauseWidget.generated.h"
|
||||||
|
|
||||||
@ -11,19 +12,42 @@ class UButton;
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
UCLASS()
|
UCLASS()
|
||||||
class VAMPIRES_API UPauseWidget : public UUserWidget
|
class VAMPIRES_API UPauseWidget : public UVampireInteractiveWidget
|
||||||
{
|
{
|
||||||
GENERATED_BODY()
|
GENERATED_BODY()
|
||||||
|
|
||||||
public:
|
public:
|
||||||
UPROPERTY(BlueprintReadWrite, meta=(BindWidget))
|
UPROPERTY(BlueprintReadWrite, meta=(BindWidget))
|
||||||
UButton* ResumeButton;
|
TObjectPtr<UButton> ResumeButton;
|
||||||
|
|
||||||
|
UPROPERTY(BlueprintReadWrite, meta=(BindWidget))
|
||||||
|
TObjectPtr<UTextBlock> ResumeTextBlock;
|
||||||
|
|
||||||
void Init();
|
UPROPERTY(BlueprintReadWrite, meta=(BindWidget))
|
||||||
|
TObjectPtr<UButton> ReturnToMainMenuButton;
|
||||||
|
|
||||||
|
UPROPERTY(BlueprintReadWrite, meta=(BindWidget))
|
||||||
|
TObjectPtr<UTextBlock> ReturnToMainMenuTextBlock;
|
||||||
|
|
||||||
virtual void NativeConstruct() override;
|
virtual void NativeConstruct() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
UFUNCTION()
|
UFUNCTION()
|
||||||
void ResumeButtonClicked();
|
void ResumeButtonOnClicked();
|
||||||
|
|
||||||
|
UFUNCTION()
|
||||||
|
void ResumeButtonOnHovered();
|
||||||
|
|
||||||
|
UFUNCTION()
|
||||||
|
void ResumeButtonOnUnhovered();
|
||||||
|
|
||||||
|
UFUNCTION()
|
||||||
|
void ReturnToMainMenuButtonOnClicked();
|
||||||
|
|
||||||
|
UFUNCTION()
|
||||||
|
void ReturnToMainMenuButtonOnHovered();
|
||||||
|
|
||||||
|
UFUNCTION()
|
||||||
|
void ReturnToMainMenuButtonOnUnhovered();
|
||||||
|
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user