// Copyright Epic Games, Inc. All Rights Reserved. #include "LyraGameSettingRegistry.h" #include "GameSetting.h" #include "GameSettingValueDiscreteDynamic.h" #include "GameSettingValueScalar.h" #include "GameSettingValueScalarDynamic.h" #include "GameSettingCollection.h" #include "GameSettingAction.h" #include "EditCondition/WhenPlayingAsPrimaryPlayer.h" #include "CustomSettings/LyraSettingValueDiscrete_Language.h" #include "Player/LyraLocalPlayer.h" #define LOCTEXT_NAMESPACE "Lyra" UGameSettingCollection* ULyraGameSettingRegistry::InitializeGameplaySettings(ULyraLocalPlayer* InLocalPlayer) { UGameSettingCollection* Screen = NewObject(); Screen->SetDevName(TEXT("GameplayCollection")); Screen->SetDisplayName(LOCTEXT("GameplayCollection_Name", "Gameplay")); Screen->Initialize(InLocalPlayer); { UGameSettingCollection* LanguageSubsection = NewObject(); LanguageSubsection->SetDevName(TEXT("LanguageCollection")); LanguageSubsection->SetDisplayName(LOCTEXT("LanguageCollection_Name", "Language")); Screen->AddSetting(LanguageSubsection); //---------------------------------------------------------------------------------- { ULyraSettingValueDiscrete_Language* Setting = NewObject(); Setting->SetDevName(TEXT("Language")); Setting->SetDisplayName(LOCTEXT("LanguageSetting_Name", "Language")); Setting->SetDescriptionRichText(LOCTEXT("LanguageSetting_Description", "The language of the game.")); #if WITH_EDITOR if (GIsEditor) { Setting->SetDescriptionRichText(LOCTEXT("LanguageSetting_WithEditor_Description", "The language of the game.\n\nWARNING: Language changes will not affect PIE, you'll need to run with -game to test this, or change your PIE language options in the editor preferences.")); } #endif Setting->AddEditCondition(FWhenPlayingAsPrimaryPlayer::Get()); LanguageSubsection->AddSetting(Setting); } //---------------------------------------------------------------------------------- } return Screen; } #undef LOCTEXT_NAMESPACE