Compare commits

...

2 Commits

Author SHA1 Message Date
baz cf41b2e456 Update OptionsMenu widget delegates 2024-04-04 01:36:02 +01:00
baz 86cf69bec5 Update PauseMenu widget delegates 2024-04-04 01:35:47 +01:00
6 changed files with 134 additions and 5 deletions

BIN
Content/UI/Options/OptionsMenu.uasset (Stored with Git LFS)

Binary file not shown.

BIN
Content/UI/Pause/PauseMenu.uasset (Stored with Git LFS)

Binary file not shown.

View File

@ -21,7 +21,13 @@ void UOptionsUIWidget::NativeConstruct()
} }
ResolutionButton->OnClicked.AddUniqueDynamic(this, &UOptionsUIWidget::OnResolutionSelectorChanged); ResolutionButton->OnClicked.AddUniqueDynamic(this, &UOptionsUIWidget::OnResolutionSelectorChanged);
ResolutionButton->OnClicked.AddUniqueDynamic(this, &UOptionsUIWidget::PlayClickedSound);
ResolutionButton->OnHovered.AddUniqueDynamic(this, &UOptionsUIWidget::PlayHoveredSound); ResolutionButton->OnHovered.AddUniqueDynamic(this, &UOptionsUIWidget::PlayHoveredSound);
ResolutionButton->OnHovered.AddUniqueDynamic(this, &UOptionsUIWidget::ResolutionTextBlockHoveredDelegate);
ResolutionButton->OnUnhovered.AddUniqueDynamic(this, &UOptionsUIWidget::PlayUnhoveredSound);
ResolutionButton->OnUnhovered.AddUniqueDynamic(this, &UOptionsUIWidget::ResolutionTextBlockUnhoveredDelegate);
} }
if (FullscreenCheckBox) if (FullscreenCheckBox)
@ -42,7 +48,13 @@ void UOptionsUIWidget::NativeConstruct()
} }
RefreshRateButton->OnClicked.AddUniqueDynamic(this, &UOptionsUIWidget::OnRefreshRateSelectorChanged); RefreshRateButton->OnClicked.AddUniqueDynamic(this, &UOptionsUIWidget::OnRefreshRateSelectorChanged);
RefreshRateButton->OnClicked.AddUniqueDynamic(this, &UOptionsUIWidget::PlayClickedSound);
RefreshRateButton->OnHovered.AddUniqueDynamic(this, &UOptionsUIWidget::PlayHoveredSound); RefreshRateButton->OnHovered.AddUniqueDynamic(this, &UOptionsUIWidget::PlayHoveredSound);
RefreshRateButton->OnHovered.AddUniqueDynamic(this, &UOptionsUIWidget::RefreshRateTextBlockHoveredDelegate);
RefreshRateButton->OnUnhovered.AddUniqueDynamic(this, &UOptionsUIWidget::PlayUnhoveredSound);
RefreshRateButton->OnUnhovered.AddUniqueDynamic(this, &UOptionsUIWidget::RefreshRateTextBlockUnhoveredDelegate);
} }
if (VsyncCheckBox) if (VsyncCheckBox)
@ -67,13 +79,25 @@ void UOptionsUIWidget::NativeConstruct()
if (BackButton) if (BackButton)
{ {
BackButton->OnClicked.AddUniqueDynamic(this, &UOptionsUIWidget::BackButtonOnClicked); BackButton->OnClicked.AddUniqueDynamic(this, &UOptionsUIWidget::BackButtonOnClicked);
BackButton->OnClicked.AddUniqueDynamic(this, &UOptionsUIWidget::PlayClickedSound);
BackButton->OnHovered.AddUniqueDynamic(this, &UOptionsUIWidget::PlayHoveredSound); BackButton->OnHovered.AddUniqueDynamic(this, &UOptionsUIWidget::PlayHoveredSound);
BackButton->OnHovered.AddUniqueDynamic(this, &UOptionsUIWidget::BackTextBlockHoveredDelegate);
BackButton->OnUnhovered.AddUniqueDynamic(this, &UOptionsUIWidget::PlayUnhoveredSound);
BackButton->OnUnhovered.AddUniqueDynamic(this, &UOptionsUIWidget::BackTextBlockUnhoveredDelegate);
} }
if (ResetToDefaultsButton) if (ResetToDefaultsButton)
{ {
ResetToDefaultsButton->OnClicked.AddUniqueDynamic(this, &UOptionsUIWidget::ResetToDefaultsButtonOnClicked); ResetToDefaultsButton->OnClicked.AddUniqueDynamic(this, &UOptionsUIWidget::ResetToDefaultsButtonOnClicked);
BackButton->OnClicked.AddUniqueDynamic(this, &UOptionsUIWidget::PlayClickedSound);
ResetToDefaultsButton->OnHovered.AddUniqueDynamic(this, &UOptionsUIWidget::PlayHoveredSound); ResetToDefaultsButton->OnHovered.AddUniqueDynamic(this, &UOptionsUIWidget::PlayHoveredSound);
ResetToDefaultsButton->OnHovered.AddUniqueDynamic(this, &UOptionsUIWidget::ResetToDefaultsTextBlockHoveredDelegate);
ResetToDefaultsButton->OnUnhovered.AddUniqueDynamic(this, &UOptionsUIWidget::PlayUnhoveredSound);
ResetToDefaultsButton->OnUnhovered.AddUniqueDynamic(this, &UOptionsUIWidget::ResetToDefaultsTextBlockUnhoveredDelegate);
} }
if (APlayerController* PlayerController = UGameplayStatics::GetPlayerController(GetWorld(), 0)) if (APlayerController* PlayerController = UGameplayStatics::GetPlayerController(GetWorld(), 0))

View File

@ -42,10 +42,16 @@ public:
UPROPERTY(BlueprintReadWrite, meta = (BindWidget)) UPROPERTY(BlueprintReadWrite, meta = (BindWidget))
UButton* BackButton; UButton* BackButton;
UPROPERTY(BlueprintReadWrite, meta = (BindWidget))
UTextBlock* BackTextBlock;
UPROPERTY(BlueprintReadWrite, meta = (BindWidget)) UPROPERTY(BlueprintReadWrite, meta = (BindWidget))
UButton* ResetToDefaultsButton; UButton* ResetToDefaultsButton;
UPROPERTY(BlueprintReadWrite, meta = (BindWidget))
UTextBlock* ResetToDefaultsTextBlock;
private: private:
UUserWidget* PreviousScreen; UUserWidget* PreviousScreen;
@ -80,4 +86,28 @@ private:
UFUNCTION() UFUNCTION()
void OnDynamicResolutionCheckboxChanged(bool bIsChecked); void OnDynamicResolutionCheckboxChanged(bool bIsChecked);
UFUNCTION()
void ResolutionTextBlockHoveredDelegate() { SetTextBlockHovered(ResolutionTextBlock); }
UFUNCTION()
void ResolutionTextBlockUnhoveredDelegate() { SetTextBlockUnhovered(ResolutionTextBlock); }
UFUNCTION()
void RefreshRateTextBlockHoveredDelegate() { SetTextBlockHovered(RefreshRateTextBlock); }
UFUNCTION()
void RefreshRateTextBlockUnhoveredDelegate() { SetTextBlockUnhovered(RefreshRateTextBlock); }
UFUNCTION()
void BackTextBlockHoveredDelegate() { SetTextBlockHovered(BackTextBlock); }
UFUNCTION()
void BackTextBlockUnhoveredDelegate() { SetTextBlockUnhovered(BackTextBlock); }
UFUNCTION()
void ResetToDefaultsTextBlockHoveredDelegate() { SetTextBlockHovered(ResetToDefaultsTextBlock); }
UFUNCTION()
void ResetToDefaultsTextBlockUnhoveredDelegate() { SetTextBlockUnhovered(ResetToDefaultsTextBlock); }
}; };

View File

@ -13,32 +13,62 @@ void UPauseUIWidget::NativeConstruct()
if (ResumeButton) if (ResumeButton)
{ {
ResumeButton->OnClicked.AddUniqueDynamic(this, &UPauseUIWidget::PlayClickedSound);
ResumeButton->OnClicked.AddUniqueDynamic(this, &UPauseUIWidget::ResumeButtonOnClicked); ResumeButton->OnClicked.AddUniqueDynamic(this, &UPauseUIWidget::ResumeButtonOnClicked);
ResumeButton->OnHovered.AddUniqueDynamic(this, &UPauseUIWidget::PlayHoveredSound); ResumeButton->OnHovered.AddUniqueDynamic(this, &UPauseUIWidget::PlayHoveredSound);
ResumeButton->OnHovered.AddUniqueDynamic(this, &UPauseUIWidget::ResumeTextBlockHoveredDelegate);
ResumeButton->OnUnhovered.AddUniqueDynamic(this, &UPauseUIWidget::PlayUnhoveredSound);
ResumeButton->OnUnhovered.AddUniqueDynamic(this, &UPauseUIWidget::ResumeTextBlockUnhoveredDelegate);
} }
if (OptionsButton) if (OptionsButton)
{ {
OptionsButton->OnClicked.AddUniqueDynamic(this, &UPauseUIWidget::PlayClickedSound);
OptionsButton->OnClicked.AddUniqueDynamic(this, &UPauseUIWidget::OptionsButtonOnClicked); OptionsButton->OnClicked.AddUniqueDynamic(this, &UPauseUIWidget::OptionsButtonOnClicked);
OptionsButton->OnHovered.AddUniqueDynamic(this, &UPauseUIWidget::PlayHoveredSound); OptionsButton->OnHovered.AddUniqueDynamic(this, &UPauseUIWidget::PlayHoveredSound);
OptionsButton->OnHovered.AddUniqueDynamic(this, &UPauseUIWidget::OptionsTextBlockHoveredDelegate);
OptionsButton->OnUnhovered.AddUniqueDynamic(this, &UPauseUIWidget::PlayUnhoveredSound);
OptionsButton->OnUnhovered.AddUniqueDynamic(this, &UPauseUIWidget::OptionsTextBlockUnhoveredDelegate);
} }
if (SaveButton) if (SaveButton)
{ {
SaveButton->OnClicked.AddUniqueDynamic(this, &UPauseUIWidget::PlayClickedSound);
SaveButton->OnClicked.AddUniqueDynamic(this, &UPauseUIWidget::SaveButtonOnClicked); SaveButton->OnClicked.AddUniqueDynamic(this, &UPauseUIWidget::SaveButtonOnClicked);
SaveButton->OnHovered.AddUniqueDynamic(this, &UPauseUIWidget::PlayHoveredSound); SaveButton->OnHovered.AddUniqueDynamic(this, &UPauseUIWidget::PlayHoveredSound);
SaveButton->OnHovered.AddUniqueDynamic(this, &UPauseUIWidget::SaveTextBlockHoveredDelegate);
SaveButton->OnUnhovered.AddUniqueDynamic(this, &UPauseUIWidget::PlayUnhoveredSound);
SaveButton->OnUnhovered.AddUniqueDynamic(this, &UPauseUIWidget::SaveTextBlockUnhoveredDelegate);
} }
if (QuitButton) if (QuitButton)
{ {
QuitButton->OnClicked.AddUniqueDynamic(this, &UPauseUIWidget::PlayClickedSound);
QuitButton->OnClicked.AddUniqueDynamic(this, &UPauseUIWidget::QuitButtonOnClicked); QuitButton->OnClicked.AddUniqueDynamic(this, &UPauseUIWidget::QuitButtonOnClicked);
QuitButton->OnHovered.AddUniqueDynamic(this, &UPauseUIWidget::PlayHoveredSound); QuitButton->OnHovered.AddUniqueDynamic(this, &UPauseUIWidget::PlayHoveredSound);
QuitButton->OnHovered.AddUniqueDynamic(this, &UPauseUIWidget::QuitTextBlockHoveredDelegate);
QuitButton->OnUnhovered.AddUniqueDynamic(this, &UPauseUIWidget::PlayUnhoveredSound);
QuitButton->OnUnhovered.AddUniqueDynamic(this, &UPauseUIWidget::QuitTextBlockUnhoveredDelegate);
} }
if (ExitGameButton) if (ExitGameButton)
{ {
ExitGameButton->OnClicked.AddUniqueDynamic(this, &UPauseUIWidget::PlayClickedSound);
ExitGameButton->OnClicked.AddUniqueDynamic(this, &UPauseUIWidget::ExitGameButtonOnClicked); ExitGameButton->OnClicked.AddUniqueDynamic(this, &UPauseUIWidget::ExitGameButtonOnClicked);
ExitGameButton->OnHovered.AddUniqueDynamic(this, &UPauseUIWidget::PlayHoveredSound); ExitGameButton->OnHovered.AddUniqueDynamic(this, &UPauseUIWidget::PlayHoveredSound);
ExitGameButton->OnHovered.AddUniqueDynamic(this, &UPauseUIWidget::ExitGameTextBlockHoveredDelegate);
ExitGameButton->OnUnhovered.AddUniqueDynamic(this, &UPauseUIWidget::PlayUnhoveredSound);
ExitGameButton->OnUnhovered.AddUniqueDynamic(this, &UPauseUIWidget::ExitGameTextBlockUnhoveredDelegate);
} }
if (APlayerController* PlayerController = UGameplayStatics::GetPlayerController(GetWorld(), 0)) if (APlayerController* PlayerController = UGameplayStatics::GetPlayerController(GetWorld(), 0))

View File

@ -21,18 +21,33 @@ public:
UPROPERTY(BlueprintReadWrite, meta = (BindWidget)) UPROPERTY(BlueprintReadWrite, meta = (BindWidget))
UButton* ResumeButton; UButton* ResumeButton;
UPROPERTY(BlueprintReadWrite, meta = (BindWidget))
UTextBlock* ResumeTextBlock;
UPROPERTY(BlueprintReadWrite, meta = (BindWidget)) UPROPERTY(BlueprintReadWrite, meta = (BindWidget))
UButton* OptionsButton; UButton* OptionsButton;
UPROPERTY(BlueprintReadWrite, meta = (BindWidget))
UTextBlock* OptionsTextBlock;
UPROPERTY(BlueprintReadWrite, meta = (BindWidget)) UPROPERTY(BlueprintReadWrite, meta = (BindWidget))
UButton* SaveButton; UButton* SaveButton;
UPROPERTY(BlueprintReadWrite, meta = (BindWidget))
UTextBlock* SaveTextBlock;
UPROPERTY(BlueprintReadWrite, meta = (BindWidget)) UPROPERTY(BlueprintReadWrite, meta = (BindWidget))
UButton* QuitButton; UButton* QuitButton;
UPROPERTY(BlueprintReadWrite, meta = (BindWidget))
UTextBlock* QuitTextBlock;
UPROPERTY(BlueprintReadWrite, meta = (BindWidget)) UPROPERTY(BlueprintReadWrite, meta = (BindWidget))
UButton* ExitGameButton; UButton* ExitGameButton;
UPROPERTY(BlueprintReadWrite, meta = (BindWidget))
UTextBlock* ExitGameTextBlock;
UPROPERTY(EditDefaultsOnly, BlueprintReadWrite) UPROPERTY(EditDefaultsOnly, BlueprintReadWrite)
TSubclassOf<class UUserWidget> OptionsMenuWidget; TSubclassOf<class UUserWidget> OptionsMenuWidget;
@ -57,4 +72,34 @@ private:
UFUNCTION() UFUNCTION()
void ExitGameButtonOnClicked(); void ExitGameButtonOnClicked();
UFUNCTION()
void ResumeTextBlockHoveredDelegate() { SetTextBlockHovered(ResumeTextBlock); }
UFUNCTION()
void ResumeTextBlockUnhoveredDelegate() { SetTextBlockUnhovered(ResumeTextBlock); }
UFUNCTION()
void OptionsTextBlockHoveredDelegate() { SetTextBlockHovered(OptionsTextBlock); }
UFUNCTION()
void OptionsTextBlockUnhoveredDelegate() { SetTextBlockUnhovered(OptionsTextBlock); }
UFUNCTION()
void SaveTextBlockHoveredDelegate() { SetTextBlockHovered(SaveTextBlock); }
UFUNCTION()
void SaveTextBlockUnhoveredDelegate() { SetTextBlockUnhovered(SaveTextBlock); }
UFUNCTION()
void QuitTextBlockHoveredDelegate() { SetTextBlockHovered(QuitTextBlock); }
UFUNCTION()
void QuitTextBlockUnhoveredDelegate() { SetTextBlockUnhovered(QuitTextBlock); }
UFUNCTION()
void ExitGameTextBlockHoveredDelegate() { SetTextBlockHovered(ExitGameTextBlock); }
UFUNCTION()
void ExitGameTextBlockUnhoveredDelegate() { SetTextBlockUnhovered(ExitGameTextBlock); }
}; };