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 "Components/Button.h"
|
||||
#include "Kismet/GameplayStatics.h"
|
||||
|
||||
void UPauseWidget::Init()
|
||||
{
|
||||
}
|
||||
#include "vampires/VampireGameInstance.h"
|
||||
|
||||
void UPauseWidget::NativeConstruct()
|
||||
{
|
||||
@ -17,13 +14,22 @@ void UPauseWidget::NativeConstruct()
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
void UPauseWidget::ResumeButtonClicked()
|
||||
void UPauseWidget::ResumeButtonOnClicked()
|
||||
{
|
||||
RemoveFromParent();
|
||||
|
||||
@ -36,3 +42,46 @@ void UPauseWidget::ResumeButtonClicked()
|
||||
|
||||
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
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
#include "VampireInteractiveWidget.h"
|
||||
#include "Blueprint/UserWidget.h"
|
||||
#include "PauseWidget.generated.h"
|
||||
|
||||
@ -11,19 +12,42 @@ class UButton;
|
||||
*
|
||||
*/
|
||||
UCLASS()
|
||||
class VAMPIRES_API UPauseWidget : public UUserWidget
|
||||
class VAMPIRES_API UPauseWidget : public UVampireInteractiveWidget
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
public:
|
||||
UPROPERTY(BlueprintReadWrite, meta=(BindWidget))
|
||||
UButton* ResumeButton;
|
||||
TObjectPtr<UButton> ResumeButton;
|
||||
|
||||
void Init();
|
||||
UPROPERTY(BlueprintReadWrite, meta=(BindWidget))
|
||||
TObjectPtr<UTextBlock> ResumeTextBlock;
|
||||
|
||||
UPROPERTY(BlueprintReadWrite, meta=(BindWidget))
|
||||
TObjectPtr<UButton> ReturnToMainMenuButton;
|
||||
|
||||
UPROPERTY(BlueprintReadWrite, meta=(BindWidget))
|
||||
TObjectPtr<UTextBlock> ReturnToMainMenuTextBlock;
|
||||
|
||||
virtual void NativeConstruct() override;
|
||||
|
||||
private:
|
||||
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