Simplify class
This commit is contained in:
parent
44e6876a8c
commit
a8aeedf7ce
@ -39,25 +39,15 @@ void UOptionsMenuWidget::NativeConstruct()
|
|||||||
if (ResetToDefaultsButton)
|
if (ResetToDefaultsButton)
|
||||||
{
|
{
|
||||||
ResetToDefaultsButton->OnClicked.AddUniqueDynamic(this, &UOptionsMenuWidget::ResetToDefaultsOnClicked);
|
ResetToDefaultsButton->OnClicked.AddUniqueDynamic(this, &UOptionsMenuWidget::ResetToDefaultsOnClicked);
|
||||||
ResetToDefaultsButton->OnClicked.AddUniqueDynamic(this, &UOptionsMenuWidget::PlayClickedSound);
|
ResetToDefaultsButton->OnHovered.AddUniqueDynamic(this, &UOptionsMenuWidget::ResetToDefaultsButtonOnHovered);
|
||||||
|
ResetToDefaultsButton->OnUnhovered.AddUniqueDynamic(this, &UOptionsMenuWidget::ResetToDefaultsButtonOnUnhovered);
|
||||||
ResetToDefaultsButton->OnHovered.AddUniqueDynamic(this, &UOptionsMenuWidget::PlayHoveredSound);
|
|
||||||
ResetToDefaultsButton->OnHovered.AddUniqueDynamic(this, &UOptionsMenuWidget::ResetToDefaultsTextBlockHoveredDelegate);
|
|
||||||
|
|
||||||
ResetToDefaultsButton->OnUnhovered.AddUniqueDynamic(this, &UOptionsMenuWidget::ResetToDefaultsTextBlockUnhoveredDelegate);
|
|
||||||
ResetToDefaultsButton->OnUnhovered.AddUniqueDynamic(this, &UOptionsMenuWidget::PlayUnhoveredSound);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ReturnButton)
|
if (ReturnButton)
|
||||||
{
|
{
|
||||||
ReturnButton->OnClicked.AddUniqueDynamic(this, &UOptionsMenuWidget::ReturnButtonOnClicked);
|
ReturnButton->OnClicked.AddUniqueDynamic(this, &UOptionsMenuWidget::ReturnButtonOnClicked);
|
||||||
ReturnButton->OnClicked.AddUniqueDynamic(this, &UOptionsMenuWidget::PlayClickedSound);
|
ReturnButton->OnHovered.AddUniqueDynamic(this, &UOptionsMenuWidget::ReturnButtonOnHovered);
|
||||||
|
ReturnButton->OnUnhovered.AddUniqueDynamic(this, &UOptionsMenuWidget::ReturnButtonOnUnhovered);
|
||||||
ReturnButton->OnHovered.AddUniqueDynamic(this, &UOptionsMenuWidget::PlayHoveredSound);
|
|
||||||
ReturnButton->OnHovered.AddUniqueDynamic(this, &UOptionsMenuWidget::ReturnTextBlockHoveredDelegate);
|
|
||||||
|
|
||||||
ReturnButton->OnUnhovered.AddUniqueDynamic(this, &UOptionsMenuWidget::ReturnTextBlockUnhoveredDelegate);
|
|
||||||
ReturnButton->OnUnhovered.AddUniqueDynamic(this, &UOptionsMenuWidget::PlayUnhoveredSound);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -129,9 +119,9 @@ void UOptionsMenuWidget::GenerateRefreshRateOptions()
|
|||||||
RefreshRateComboBox->ClearOptions();
|
RefreshRateComboBox->ClearOptions();
|
||||||
|
|
||||||
TArray<uint32> RefreshRates;
|
TArray<uint32> RefreshRates;
|
||||||
|
|
||||||
GetListOfUniqueRefreshRates(RefreshRates);
|
GetListOfUniqueRefreshRates(RefreshRates);
|
||||||
|
|
||||||
for (uint32 RefreshRate : RefreshRates)
|
for (uint32 RefreshRate : RefreshRates)
|
||||||
{
|
{
|
||||||
RefreshRateComboBox->AddOption(FString::FromInt(RefreshRate));
|
RefreshRateComboBox->AddOption(FString::FromInt(RefreshRate));
|
||||||
@ -268,13 +258,15 @@ void UOptionsMenuWidget::OnAudioLeverValueChanged(float Value)
|
|||||||
MasterSoundClass->Properties.Volume = FMath::Clamp(Value, 0.0f, 1.0f);
|
MasterSoundClass->Properties.Volume = FMath::Clamp(Value, 0.0f, 1.0f);
|
||||||
|
|
||||||
int AudioLevel = FMath::Clamp(Value, 0.0f, 1.0f) * 100.0f;
|
int AudioLevel = FMath::Clamp(Value, 0.0f, 1.0f) * 100.0f;
|
||||||
|
|
||||||
MasterAudioTextBlock->SetText(FText::FromString(FString::FromInt(AudioLevel) + "%"));
|
MasterAudioTextBlock->SetText(FText::FromString(FString::FromInt(AudioLevel) + "%"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void UOptionsMenuWidget::ResetToDefaultsOnClicked()
|
void UOptionsMenuWidget::ResetToDefaultsOnClicked()
|
||||||
{
|
{
|
||||||
|
PlayClickedSound();
|
||||||
|
|
||||||
// Set Resolution to Monitor Res
|
// Set Resolution to Monitor Res
|
||||||
TArray<FIntPoint> Resolutions;
|
TArray<FIntPoint> Resolutions;
|
||||||
UKismetSystemLibrary::GetSupportedFullscreenResolutions(Resolutions);
|
UKismetSystemLibrary::GetSupportedFullscreenResolutions(Resolutions);
|
||||||
@ -282,7 +274,8 @@ void UOptionsMenuWidget::ResetToDefaultsOnClicked()
|
|||||||
if (Resolutions.Num() > 0)
|
if (Resolutions.Num() > 0)
|
||||||
{
|
{
|
||||||
GEngine->GameUserSettings->SetScreenResolution(Resolutions.Last());
|
GEngine->GameUserSettings->SetScreenResolution(Resolutions.Last());
|
||||||
FString ResolutionString = FString::FromInt(Resolutions.Last().X) + "x" + FString::FromInt(Resolutions.Last().Y);
|
FString ResolutionString = FString::FromInt(Resolutions.Last().X) + "x" +
|
||||||
|
FString::FromInt(Resolutions.Last().Y);
|
||||||
ResolutionComboBox->SetSelectedOption(ResolutionString);
|
ResolutionComboBox->SetSelectedOption(ResolutionString);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -292,7 +285,7 @@ void UOptionsMenuWidget::ResetToDefaultsOnClicked()
|
|||||||
FString ResolutionString = FString::FromInt(1920) + "x" + FString::FromInt(1080);
|
FString ResolutionString = FString::FromInt(1920) + "x" + FString::FromInt(1080);
|
||||||
ResolutionComboBox->SetSelectedOption(ResolutionString);
|
ResolutionComboBox->SetSelectedOption(ResolutionString);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set Fullscreen
|
// Set Fullscreen
|
||||||
GEngine->GameUserSettings->SetFullscreenMode(EWindowMode::Fullscreen);
|
GEngine->GameUserSettings->SetFullscreenMode(EWindowMode::Fullscreen);
|
||||||
WindowTypeComboBox->SetSelectedOption(LexToString(GEngine->GameUserSettings->GetFullscreenMode()));
|
WindowTypeComboBox->SetSelectedOption(LexToString(GEngine->GameUserSettings->GetFullscreenMode()));
|
||||||
@ -322,6 +315,8 @@ void UOptionsMenuWidget::ResetToDefaultsOnClicked()
|
|||||||
|
|
||||||
void UOptionsMenuWidget::ReturnButtonOnClicked()
|
void UOptionsMenuWidget::ReturnButtonOnClicked()
|
||||||
{
|
{
|
||||||
|
PlayClickedSound();
|
||||||
|
|
||||||
if (MainMenuMenuWidget)
|
if (MainMenuMenuWidget)
|
||||||
{
|
{
|
||||||
RemoveFromParent();
|
RemoveFromParent();
|
||||||
@ -336,6 +331,30 @@ void UOptionsMenuWidget::ReturnButtonOnClicked()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void UOptionsMenuWidget::ResetToDefaultsButtonOnHovered()
|
||||||
|
{
|
||||||
|
PlayHoveredSound();
|
||||||
|
SetTextBlockHovered(ResetToDefaultsBlock);
|
||||||
|
}
|
||||||
|
|
||||||
|
void UOptionsMenuWidget::ResetToDefaultsButtonOnUnhovered()
|
||||||
|
{
|
||||||
|
PlayUnhoveredSound();
|
||||||
|
SetTextBlockUnhovered(ResetToDefaultsBlock);
|
||||||
|
}
|
||||||
|
|
||||||
|
void UOptionsMenuWidget::ReturnButtonOnHovered()
|
||||||
|
{
|
||||||
|
PlayHoveredSound();
|
||||||
|
SetTextBlockHovered(ReturnBlock);
|
||||||
|
}
|
||||||
|
|
||||||
|
void UOptionsMenuWidget::ReturnButtonOnUnhovered()
|
||||||
|
{
|
||||||
|
PlayUnhoveredSound();
|
||||||
|
SetTextBlockUnhovered(ReturnBlock);
|
||||||
|
}
|
||||||
|
|
||||||
void UOptionsMenuWidget::GetListOfUniqueRefreshRates(TArray<uint32>& RefreshRates)
|
void UOptionsMenuWidget::GetListOfUniqueRefreshRates(TArray<uint32>& RefreshRates)
|
||||||
{
|
{
|
||||||
FScreenResolutionArray ScreenResolutions;
|
FScreenResolutionArray ScreenResolutions;
|
||||||
|
@ -58,12 +58,10 @@ class VAMPIRES_API UOptionsMenuWidget : public UVampireInteractiveWidget
|
|||||||
|
|
||||||
UPROPERTY(EditDefaultsOnly, Category = "Widget Settings | Sound Settings")
|
UPROPERTY(EditDefaultsOnly, Category = "Widget Settings | Sound Settings")
|
||||||
TObjectPtr<USoundClass> MasterSoundClass = nullptr;
|
TObjectPtr<USoundClass> MasterSoundClass = nullptr;
|
||||||
|
|
||||||
protected:
|
|
||||||
UFUNCTION()
|
UFUNCTION()
|
||||||
virtual void NativeConstruct() override;
|
virtual void NativeConstruct() override;
|
||||||
|
|
||||||
private:
|
|
||||||
void GenerateWindowTypeOptions();
|
void GenerateWindowTypeOptions();
|
||||||
|
|
||||||
void GenerateResolutionOptions();
|
void GenerateResolutionOptions();
|
||||||
@ -104,16 +102,16 @@ private:
|
|||||||
void ReturnButtonOnClicked();
|
void ReturnButtonOnClicked();
|
||||||
|
|
||||||
UFUNCTION()
|
UFUNCTION()
|
||||||
void ResetToDefaultsTextBlockHoveredDelegate() { SetTextBlockHovered(ResetToDefaultsBlock); }
|
void ResetToDefaultsButtonOnHovered();
|
||||||
|
|
||||||
UFUNCTION()
|
UFUNCTION()
|
||||||
void ResetToDefaultsTextBlockUnhoveredDelegate() { SetTextBlockUnhovered(ResetToDefaultsBlock); }
|
void ResetToDefaultsButtonOnUnhovered();
|
||||||
|
|
||||||
UFUNCTION()
|
|
||||||
void ReturnTextBlockHoveredDelegate() { SetTextBlockHovered(ReturnBlock); }
|
|
||||||
|
|
||||||
UFUNCTION()
|
UFUNCTION()
|
||||||
void ReturnTextBlockUnhoveredDelegate() { SetTextBlockUnhovered(ReturnBlock); }
|
void ReturnButtonOnHovered();
|
||||||
|
|
||||||
|
UFUNCTION()
|
||||||
|
void ReturnButtonOnUnhovered();
|
||||||
|
|
||||||
void GetListOfUniqueRefreshRates(TArray<uint32>& RefreshRates);
|
void GetListOfUniqueRefreshRates(TArray<uint32>& RefreshRates);
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user