Add UFUNCTION to play Sound2D when button is hovered in UMainMenuUIWidget
This commit is contained in:
parent
7056f530f7
commit
4a74fc1007
|
@ -13,21 +13,25 @@ void UMainMenuUIWidget::NativeConstruct()
|
||||||
if (NewGameButton)
|
if (NewGameButton)
|
||||||
{
|
{
|
||||||
NewGameButton->OnClicked.AddUniqueDynamic(this, &UMainMenuUIWidget::NewGameButtonOnClicked);
|
NewGameButton->OnClicked.AddUniqueDynamic(this, &UMainMenuUIWidget::NewGameButtonOnClicked);
|
||||||
|
NewGameButton->OnHovered.AddUniqueDynamic(this, &UMainMenuUIWidget::PlayHoveredSound);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (LoadGameButton)
|
if (LoadGameButton)
|
||||||
{
|
{
|
||||||
LoadGameButton->OnClicked.AddUniqueDynamic(this, &UMainMenuUIWidget::LoadGameButtonOnClicked);
|
LoadGameButton->OnClicked.AddUniqueDynamic(this, &UMainMenuUIWidget::LoadGameButtonOnClicked);
|
||||||
|
LoadGameButton->OnHovered.AddUniqueDynamic(this, &UMainMenuUIWidget::PlayHoveredSound);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (OptionsButton)
|
if (OptionsButton)
|
||||||
{
|
{
|
||||||
OptionsButton->OnClicked.AddUniqueDynamic(this, &UMainMenuUIWidget::OptionsButtonOnClicked);
|
OptionsButton->OnClicked.AddUniqueDynamic(this, &UMainMenuUIWidget::OptionsButtonOnClicked);
|
||||||
|
OptionsButton->OnHovered.AddUniqueDynamic(this, &UMainMenuUIWidget::PlayHoveredSound);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (QuitButton)
|
if (QuitButton)
|
||||||
{
|
{
|
||||||
QuitButton->OnClicked.AddUniqueDynamic(this, &UMainMenuUIWidget::QuitButtonOnClicked);
|
QuitButton->OnClicked.AddUniqueDynamic(this, &UMainMenuUIWidget::QuitButtonOnClicked);
|
||||||
|
QuitButton->OnHovered.AddUniqueDynamic(this, &UMainMenuUIWidget::PlayHoveredSound);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (APlayerController* PlayerController = UGameplayStatics::GetPlayerController(GetWorld(), 0))
|
if (APlayerController* PlayerController = UGameplayStatics::GetPlayerController(GetWorld(), 0))
|
||||||
|
@ -35,8 +39,6 @@ void UMainMenuUIWidget::NativeConstruct()
|
||||||
UWidgetBlueprintLibrary::SetInputMode_UIOnlyEx(PlayerController, this, EMouseLockMode::LockAlways);
|
UWidgetBlueprintLibrary::SetInputMode_UIOnlyEx(PlayerController, this, EMouseLockMode::LockAlways);
|
||||||
PlayerController->bShowMouseCursor = true;
|
PlayerController->bShowMouseCursor = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void UMainMenuUIWidget::NewGameButtonOnClicked()
|
void UMainMenuUIWidget::NewGameButtonOnClicked()
|
||||||
|
@ -81,3 +83,11 @@ void UMainMenuUIWidget::QuitButtonOnClicked()
|
||||||
// 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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void UMainMenuUIWidget::PlayHoveredSound()
|
||||||
|
{
|
||||||
|
if (ButtonHoveredSound)
|
||||||
|
{
|
||||||
|
UGameplayStatics::PlaySound2D(GetWorld(), ButtonHoveredSound);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -41,6 +41,9 @@ public:
|
||||||
UPROPERTY(EditDefaultsOnly, BlueprintReadWrite)
|
UPROPERTY(EditDefaultsOnly, BlueprintReadWrite)
|
||||||
TSoftObjectPtr<UWorld> NewGameLevel;
|
TSoftObjectPtr<UWorld> NewGameLevel;
|
||||||
|
|
||||||
|
UPROPERTY(EditDefaultsOnly, BlueprintReadWrite)
|
||||||
|
USoundBase* ButtonHoveredSound;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
UUserWidget* currentNewGameWidget;
|
UUserWidget* currentNewGameWidget;
|
||||||
|
|
||||||
|
@ -63,4 +66,7 @@ private:
|
||||||
|
|
||||||
UFUNCTION()
|
UFUNCTION()
|
||||||
void QuitButtonOnClicked();
|
void QuitButtonOnClicked();
|
||||||
|
|
||||||
|
UFUNCTION()
|
||||||
|
void PlayHoveredSound();
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue