2014-12-07 19:09:38 -05:00
|
|
|
// Copyright 1998-2015 Epic Games, Inc. All Rights Reserved.
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
#include "ProjectSettingsViewerPrivatePCH.h"
|
2014-05-29 17:11:10 -04:00
|
|
|
#include "Engine/Console.h"
|
2014-05-29 17:37:19 -04:00
|
|
|
#include "ProjectTargetPlatformEditor.h"
|
2014-10-27 07:53:18 -04:00
|
|
|
#include "ISettingsCategory.h"
|
2014-10-27 07:53:55 -04:00
|
|
|
#include "ISettingsContainer.h"
|
|
|
|
|
#include "ISettingsEditorModel.h"
|
|
|
|
|
#include "ISettingsEditorModule.h"
|
2014-10-27 07:53:18 -04:00
|
|
|
#include "ISettingsModule.h"
|
|
|
|
|
#include "ISettingsViewer.h"
|
|
|
|
|
#include "ModuleManager.h"
|
|
|
|
|
#include "SDockTab.h"
|
|
|
|
|
|
2014-10-27 07:53:55 -04:00
|
|
|
#include "CookerSettings.h"
|
2014-09-10 22:35:49 -04:00
|
|
|
#include "Runtime/Engine/Classes/Engine/RendererSettings.h"
|
2014-10-27 07:53:55 -04:00
|
|
|
#include "Runtime/Engine/Classes/Engine/UserInterfaceSettings.h"
|
2014-09-10 22:35:49 -04:00
|
|
|
#include "Runtime/Engine/Classes/Sound/AudioSettings.h"
|
2014-12-04 16:43:07 -05:00
|
|
|
#include "Runtime/AIModule/Classes/Navigation/CrowdManager.h"
|
2015-02-06 17:01:51 -05:00
|
|
|
#include "Runtime/Engine/Classes/Animation/AnimationSettings.h"
|
2015-04-02 05:30:34 -04:00
|
|
|
|
|
|
|
|
#include "Editor/UnrealEd/Public/Settings/EditorProjectSettings.h"
|
|
|
|
|
|
2014-11-15 20:50:16 -05:00
|
|
|
#include "AISystem.h"
|
2015-04-10 03:30:54 -04:00
|
|
|
#include "GameFramework/InputSettings.h"
|
|
|
|
|
#include "AI/Navigation/RecastNavMesh.h"
|
|
|
|
|
#include "Engine/NetworkSettings.h"
|
|
|
|
|
#include "PhysicsEngine/PhysicsSettings.h"
|
2014-06-12 23:22:18 -04:00
|
|
|
|
2014-03-14 14:13:41 -04:00
|
|
|
#define LOCTEXT_NAMESPACE "FProjectSettingsViewerModule"
|
|
|
|
|
|
|
|
|
|
static const FName ProjectSettingsTabName("ProjectSettings");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Implements the ProjectSettingsViewer module.
|
|
|
|
|
*/
|
|
|
|
|
class FProjectSettingsViewerModule
|
|
|
|
|
: public IModuleInterface
|
|
|
|
|
, public ISettingsViewer
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
|
2014-06-12 23:22:18 -04:00
|
|
|
// ISettingsViewer interface
|
2014-03-14 14:13:41 -04:00
|
|
|
|
2014-06-12 23:22:18 -04:00
|
|
|
virtual void ShowSettings( const FName& CategoryName, const FName& SectionName ) override
|
2014-03-14 14:13:41 -04:00
|
|
|
{
|
|
|
|
|
FGlobalTabmanager::Get()->InvokeTab(ProjectSettingsTabName);
|
|
|
|
|
ISettingsEditorModelPtr SettingsEditorModel = SettingsEditorModelPtr.Pin();
|
|
|
|
|
|
|
|
|
|
if (SettingsEditorModel.IsValid())
|
|
|
|
|
{
|
|
|
|
|
ISettingsCategoryPtr Category = SettingsEditorModel->GetSettingsContainer()->GetCategory(CategoryName);
|
|
|
|
|
|
|
|
|
|
if (Category.IsValid())
|
|
|
|
|
{
|
|
|
|
|
SettingsEditorModel->SelectSection(Category->GetSection(SectionName));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
2014-06-12 23:22:18 -04:00
|
|
|
// IModuleInterface interface
|
2014-03-14 14:13:41 -04:00
|
|
|
|
2014-10-27 07:53:55 -04:00
|
|
|
virtual void StartupModule() override
|
2014-03-14 14:13:41 -04:00
|
|
|
{
|
2014-10-27 07:53:18 -04:00
|
|
|
ISettingsModule* SettingsModule = FModuleManager::GetModulePtr<ISettingsModule>("Settings");
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
if (SettingsModule != nullptr)
|
|
|
|
|
{
|
|
|
|
|
RegisterEngineSettings(*SettingsModule);
|
2014-08-22 07:18:30 -04:00
|
|
|
RegisterProjectSettings(*SettingsModule);
|
2015-04-02 05:30:34 -04:00
|
|
|
RegisterEditorSettings(*SettingsModule);
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
SettingsModule->RegisterViewer("Project", *this);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FGlobalTabmanager::Get()->RegisterNomadTabSpawner(ProjectSettingsTabName, FOnSpawnTab::CreateRaw(this, &FProjectSettingsViewerModule::HandleSpawnSettingsTab))
|
|
|
|
|
.SetDisplayName(LOCTEXT("ProjectSettingsTabTitle", "Project Settings"))
|
2014-10-27 09:51:25 -04:00
|
|
|
.SetMenuType(ETabSpawnerMenuType::Hidden);
|
2014-03-14 14:13:41 -04:00
|
|
|
}
|
|
|
|
|
|
2014-10-27 07:53:55 -04:00
|
|
|
virtual void ShutdownModule() override
|
2014-03-14 14:13:41 -04:00
|
|
|
{
|
|
|
|
|
FGlobalTabmanager::Get()->UnregisterNomadTabSpawner(ProjectSettingsTabName);
|
|
|
|
|
UnregisterSettings();
|
|
|
|
|
}
|
|
|
|
|
|
2014-10-27 07:53:55 -04:00
|
|
|
virtual bool SupportsDynamicReloading() override
|
2014-03-14 14:13:41 -04:00
|
|
|
{
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Registers Engine settings.
|
2014-10-27 07:53:18 -04:00
|
|
|
*
|
|
|
|
|
* @param SettingsModule A reference to the settings module.
|
2014-03-14 14:13:41 -04:00
|
|
|
*/
|
|
|
|
|
void RegisterEngineSettings( ISettingsModule& SettingsModule )
|
|
|
|
|
{
|
|
|
|
|
// startup settings
|
|
|
|
|
SettingsModule.RegisterSettings("Project", "Engine", "General",
|
|
|
|
|
LOCTEXT("GeneralEngineSettingsName", "General Settings"),
|
|
|
|
|
LOCTEXT("ProjectGeneralSettingsDescription", "General options and defaults for the game engine."),
|
2014-04-23 19:10:37 -04:00
|
|
|
GetMutableDefault<UEngine>()
|
2014-03-14 14:13:41 -04:00
|
|
|
);
|
|
|
|
|
|
2014-06-11 12:03:52 -04:00
|
|
|
// audio settings
|
2014-03-14 14:13:41 -04:00
|
|
|
SettingsModule.RegisterSettings("Project", "Engine", "Audio",
|
|
|
|
|
LOCTEXT("EngineAudioSettingsName", "Audio"),
|
|
|
|
|
LOCTEXT("ProjectAudioSettingsDescription", "Audio settings."),
|
2014-04-23 19:10:37 -04:00
|
|
|
GetMutableDefault<UAudioSettings>()
|
|
|
|
|
);
|
2014-03-14 14:13:41 -04:00
|
|
|
|
2014-08-13 17:35:08 -04:00
|
|
|
// collision settings
|
2014-03-14 14:13:41 -04:00
|
|
|
SettingsModule.RegisterSettings("Project", "Engine", "Collision",
|
|
|
|
|
LOCTEXT("ProjectCollisionSettingsName", "Collision"),
|
|
|
|
|
LOCTEXT("ProjectCollisionSettingsDescription", "Set up and modify collision settings."),
|
2014-04-23 19:10:37 -04:00
|
|
|
GetMutableDefault<UCollisionProfile>()
|
2014-03-14 14:13:41 -04:00
|
|
|
);
|
|
|
|
|
|
2014-06-11 12:03:52 -04:00
|
|
|
// command console settings
|
2014-03-14 14:13:41 -04:00
|
|
|
SettingsModule.RegisterSettings("Project", "Engine", "Console",
|
|
|
|
|
LOCTEXT("ProjectConsoleSettingsName", "Console"),
|
|
|
|
|
LOCTEXT("ProjectConsoleSettingsDescription", "Configure the in-game input console."),
|
2014-06-11 12:03:52 -04:00
|
|
|
GetMutableDefault<UConsoleSettings>()
|
2014-03-14 14:13:41 -04:00
|
|
|
);
|
|
|
|
|
|
2014-06-11 12:03:52 -04:00
|
|
|
// input settings
|
2014-03-14 14:13:41 -04:00
|
|
|
SettingsModule.RegisterSettings("Project", "Engine", "Input",
|
|
|
|
|
LOCTEXT("EngineInputSettingsName", "Input"),
|
|
|
|
|
LOCTEXT("ProjectInputSettingsDescription", "Input settings, including default input action and axis bindings."),
|
2014-04-23 19:10:37 -04:00
|
|
|
GetMutableDefault<UInputSettings>()
|
2014-03-14 14:13:41 -04:00
|
|
|
);
|
|
|
|
|
|
2015-01-15 14:24:58 -05:00
|
|
|
// navigation system's class can be game specific so we need to find appropriate CDO
|
|
|
|
|
UNavigationSystem* NavSysCDO = (*GEngine->NavigationSystemClass != nullptr)
|
|
|
|
|
? GetMutableDefault<UNavigationSystem>(GEngine->NavigationSystemClass)
|
|
|
|
|
: GetMutableDefault<UNavigationSystem>();
|
2014-03-14 14:13:41 -04:00
|
|
|
SettingsModule.RegisterSettings("Project", "Engine", "NavigationSystem",
|
|
|
|
|
LOCTEXT("NavigationSystemSettingsName", "Navigation System"),
|
|
|
|
|
LOCTEXT("NavigationSystemSettingsDescription", "Settings for the navigation system."),
|
2015-01-15 14:24:58 -05:00
|
|
|
NavSysCDO
|
2014-03-14 14:13:41 -04:00
|
|
|
);
|
|
|
|
|
|
|
|
|
|
// navigation mesh
|
|
|
|
|
SettingsModule.RegisterSettings("Project", "Engine", "NavigationMesh",
|
|
|
|
|
LOCTEXT("NavigationMeshSettingsName", "Navigation Mesh"),
|
|
|
|
|
LOCTEXT("NavigationMeshSettingsDescription", "Settings for the navigation mesh."),
|
2014-04-23 19:10:37 -04:00
|
|
|
GetMutableDefault<ARecastNavMesh>()
|
2014-03-14 14:13:41 -04:00
|
|
|
);
|
2014-11-15 20:50:16 -05:00
|
|
|
|
|
|
|
|
// AI system
|
|
|
|
|
SettingsModule.RegisterSettings("Project", "Engine", "AISystem",
|
|
|
|
|
LOCTEXT("AISystemSettingsName", "AI System"),
|
|
|
|
|
LOCTEXT("AISystemSettingsDescription", "Settings for the AI System."),
|
|
|
|
|
GetMutableDefault<UAISystem>()
|
|
|
|
|
);
|
2014-12-04 16:43:07 -05:00
|
|
|
|
|
|
|
|
// Crowd manager
|
|
|
|
|
SettingsModule.RegisterSettings("Project", "Engine", "CrowdManager",
|
|
|
|
|
LOCTEXT("CrowdManagerSettingsName", "Crowd Manager"),
|
|
|
|
|
LOCTEXT("CrowdManagerSettingsDescription", "Settings for the AI Crowd Manager."),
|
|
|
|
|
GetMutableDefault<UCrowdManager>()
|
|
|
|
|
);
|
|
|
|
|
|
2015-02-06 17:01:51 -05:00
|
|
|
// Physics settings
|
|
|
|
|
SettingsModule.RegisterSettings("Project", "Engine", "Animation",
|
|
|
|
|
LOCTEXT("EngineAnimationSettingsName", "Animation"),
|
|
|
|
|
LOCTEXT("ProjectAnimationSettingsDescription", "Default animation settings."),
|
|
|
|
|
GetMutableDefault<UAnimationSettings>()
|
|
|
|
|
);
|
|
|
|
|
|
2014-12-04 16:43:07 -05:00
|
|
|
/*
|
2014-03-14 14:13:41 -04:00
|
|
|
// network settings
|
|
|
|
|
SettingsModule.RegisterSettings("Project", "Engine", "NetworkManager",
|
|
|
|
|
LOCTEXT("GameNetworkManagerSettingsName", "Network Manager"),
|
|
|
|
|
LOCTEXT("GameNetworkManagerSettingsDescription", "Game Network Manager settings."),
|
2014-04-23 19:10:37 -04:00
|
|
|
GetMutableDefault<UGameNetworkManagerSettings>()
|
2014-03-14 14:13:41 -04:00
|
|
|
);*/
|
|
|
|
|
|
2014-08-21 20:35:47 -04:00
|
|
|
// network settings
|
|
|
|
|
SettingsModule.RegisterSettings("Project", "Engine", "Network",
|
|
|
|
|
LOCTEXT("NetworkSettingsName", "Network"),
|
|
|
|
|
LOCTEXT("NetworkSettingsDescription", "Network settings."),
|
|
|
|
|
GetMutableDefault<UNetworkSettings>()
|
|
|
|
|
);
|
|
|
|
|
|
2014-03-14 14:13:41 -04:00
|
|
|
// Physics settings
|
|
|
|
|
SettingsModule.RegisterSettings("Project", "Engine", "Physics",
|
|
|
|
|
LOCTEXT("EnginePhysicsSettingsName", "Physics"),
|
|
|
|
|
LOCTEXT("ProjectPhysicsSettingsDescription", "Default physics settings."),
|
2014-04-23 19:10:37 -04:00
|
|
|
GetMutableDefault<UPhysicsSettings>()
|
|
|
|
|
);
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
// Rendering settings
|
|
|
|
|
SettingsModule.RegisterSettings("Project", "Engine", "Rendering",
|
|
|
|
|
LOCTEXT("EngineRenderingSettingsName", "Rendering"),
|
|
|
|
|
LOCTEXT("ProjectRenderingSettingsDescription", "Rendering settings."),
|
2014-04-23 19:10:37 -04:00
|
|
|
GetMutableDefault<URendererSettings>()
|
|
|
|
|
);
|
2014-06-20 17:03:43 -04:00
|
|
|
|
2014-10-20 09:38:32 -04:00
|
|
|
// UI settings
|
|
|
|
|
SettingsModule.RegisterSettings("Project", "Engine", "UI",
|
|
|
|
|
LOCTEXT("EngineUISettingsName", "User Interface"),
|
|
|
|
|
LOCTEXT("ProjectUISettingsDescription", "User Interface settings that control Slate and UMG."),
|
|
|
|
|
GetMutableDefault<UUserInterfaceSettings>()
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
// Cooker settings
|
2014-06-20 17:03:43 -04:00
|
|
|
SettingsModule.RegisterSettings("Project", "Engine", "Cooker",
|
|
|
|
|
LOCTEXT("CookerSettingsName", "Cooker"),
|
|
|
|
|
LOCTEXT("CookerSettingsDescription", "Various cooker settings."),
|
|
|
|
|
GetMutableDefault<UCookerSettings>()
|
|
|
|
|
);
|
2014-03-14 14:13:41 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
2014-08-22 07:18:30 -04:00
|
|
|
* Registers Project settings.
|
2014-10-27 07:53:18 -04:00
|
|
|
*
|
|
|
|
|
* @param SettingsModule A reference to the settings module.
|
2014-03-14 14:13:41 -04:00
|
|
|
*/
|
2014-08-22 07:18:30 -04:00
|
|
|
void RegisterProjectSettings( ISettingsModule& SettingsModule )
|
2014-03-14 14:13:41 -04:00
|
|
|
{
|
|
|
|
|
// general project settings
|
2014-08-22 07:18:30 -04:00
|
|
|
SettingsModule.RegisterSettings("Project", "Project", "General",
|
2014-03-14 14:13:41 -04:00
|
|
|
LOCTEXT("GeneralGameSettingsName", "Description"),
|
2014-08-22 07:18:30 -04:00
|
|
|
LOCTEXT("GeneralGameSettingsDescription", "Descriptions and other information about your project."),
|
2014-04-23 19:10:37 -04:00
|
|
|
GetMutableDefault<UGeneralProjectSettings>()
|
2014-03-14 14:13:41 -04:00
|
|
|
);
|
|
|
|
|
|
|
|
|
|
// map related settings
|
2014-08-22 07:18:30 -04:00
|
|
|
SettingsModule.RegisterSettings("Project", "Project", "Maps",
|
2014-03-14 14:13:41 -04:00
|
|
|
LOCTEXT("GameMapsSettingsName", "Maps & Modes"),
|
|
|
|
|
LOCTEXT("GameMapsSettingsDescription", "Default maps, game modes and other map related settings."),
|
2014-04-23 19:10:37 -04:00
|
|
|
GetMutableDefault<UGameMapsSettings>()
|
2014-03-14 14:13:41 -04:00
|
|
|
);
|
|
|
|
|
|
|
|
|
|
// packaging settings
|
2014-08-22 07:18:30 -04:00
|
|
|
SettingsModule.RegisterSettings("Project", "Project", "Packaging",
|
2014-03-14 14:13:41 -04:00
|
|
|
LOCTEXT("ProjectPackagingSettingsName", "Packaging"),
|
|
|
|
|
LOCTEXT("ProjectPackagingSettingsDescription", "Fine tune how your project is packaged for release."),
|
2014-04-23 19:10:37 -04:00
|
|
|
GetMutableDefault<UProjectPackagingSettings>()
|
2014-03-14 14:13:41 -04:00
|
|
|
);
|
|
|
|
|
|
2014-05-29 17:37:19 -04:00
|
|
|
// platforms settings
|
|
|
|
|
TWeakPtr<SWidget> ProjectTargetPlatformEditorPanel = FModuleManager::LoadModuleChecked<IProjectTargetPlatformEditorModule>("ProjectTargetPlatformEditor").CreateProjectTargetPlatformEditorPanel();
|
2014-08-22 07:18:30 -04:00
|
|
|
SettingsModule.RegisterSettings("Project", "Project", "SupportedPlatforms",
|
2014-05-29 17:45:02 -04:00
|
|
|
LOCTEXT("ProjectSupportedPlatformsSettingsName", "Supported Platforms"),
|
|
|
|
|
LOCTEXT("ProjectSupportedPlatformsSettingsDescription", "Specify which platforms your project supports."),
|
2014-05-29 17:37:19 -04:00
|
|
|
ProjectTargetPlatformEditorPanel.Pin().ToSharedRef()
|
|
|
|
|
);
|
|
|
|
|
|
2014-03-14 14:13:41 -04:00
|
|
|
// movie settings
|
2014-08-22 07:18:30 -04:00
|
|
|
SettingsModule.RegisterSettings("Project", "Project", "Movies",
|
2014-03-14 14:13:41 -04:00
|
|
|
LOCTEXT("MovieSettingsName", "Movies"),
|
|
|
|
|
LOCTEXT("MovieSettingsDescription", "Movie player settings"),
|
2014-04-23 19:10:37 -04:00
|
|
|
GetMutableDefault<UMoviePlayerSettings>()
|
2014-03-14 14:13:41 -04:00
|
|
|
);
|
|
|
|
|
/*
|
|
|
|
|
// game session
|
2014-08-22 07:18:30 -04:00
|
|
|
SettingsModule.RegisterSettings("Project", "Project", "GameSession",
|
2014-03-14 14:13:41 -04:00
|
|
|
LOCTEXT("GameSessionettingsName", "Game Session"),
|
|
|
|
|
LOCTEXT("GameSessionSettingsDescription", "Game Session settings."),
|
2014-04-23 19:10:37 -04:00
|
|
|
GetMutableDefault<UGameSessionSettings>()
|
2014-03-14 14:13:41 -04:00
|
|
|
);
|
|
|
|
|
|
|
|
|
|
// head-up display
|
2014-08-22 07:18:30 -04:00
|
|
|
SettingsModule.RegisterSettings("Project", "Project", "HUD",
|
2014-03-14 14:13:41 -04:00
|
|
|
LOCTEXT("HudSettingsName", "HUD"),
|
|
|
|
|
LOCTEXT("HudSettingsDescription", "Head-up display (HUD) settings."),
|
2014-04-23 19:10:37 -04:00
|
|
|
GetMutableDefault<UHudSettings>()
|
2014-03-14 14:13:41 -04:00
|
|
|
);*/
|
|
|
|
|
}
|
|
|
|
|
|
2015-04-02 05:30:34 -04:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Registers Editor settings.
|
|
|
|
|
*
|
|
|
|
|
* @param SettingsModule A reference to the settings module.
|
|
|
|
|
*/
|
|
|
|
|
void RegisterEditorSettings( ISettingsModule& SettingsModule )
|
|
|
|
|
{
|
|
|
|
|
// Appearance settings
|
|
|
|
|
SettingsModule.RegisterSettings("Project", "Editor", "Appearance",
|
|
|
|
|
LOCTEXT("AppearanceSettingsName", "Appearance"),
|
|
|
|
|
LOCTEXT("AppearanceSettingsDescription", "Settings pertaining to the appearance of the editor"),
|
|
|
|
|
GetMutableDefault<UEditorProjectAppearanceSettings>()
|
|
|
|
|
);
|
2015-04-13 06:38:54 -04:00
|
|
|
|
|
|
|
|
// view port settings
|
|
|
|
|
SettingsModule.RegisterSettings("Project", "Editor", "2D",
|
|
|
|
|
LOCTEXT("Editor2DSettingsName", "2D"),
|
|
|
|
|
LOCTEXT("Editor2DSettingsDescription", "Configure the settings for the 2D Level Editor."),
|
|
|
|
|
GetMutableDefault<ULevelEditor2DSettings>()
|
|
|
|
|
);
|
2015-04-02 05:30:34 -04:00
|
|
|
}
|
|
|
|
|
|
2014-10-27 07:53:18 -04:00
|
|
|
/** Unregisters all settings. */
|
2014-10-27 07:53:55 -04:00
|
|
|
void UnregisterSettings()
|
2014-03-14 14:13:41 -04:00
|
|
|
{
|
2014-10-27 07:53:18 -04:00
|
|
|
ISettingsModule* SettingsModule = FModuleManager::GetModulePtr<ISettingsModule>("Settings");
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
if (SettingsModule != nullptr)
|
|
|
|
|
{
|
|
|
|
|
SettingsModule->UnregisterViewer("Project");
|
|
|
|
|
// engine settings
|
|
|
|
|
SettingsModule->UnregisterSettings("Project", "Engine", "General");
|
2014-12-04 16:43:07 -05:00
|
|
|
SettingsModule->UnregisterSettings("Project", "Engine", "CrowdManager");
|
2014-03-14 14:13:41 -04:00
|
|
|
SettingsModule->UnregisterSettings("Project", "Engine", "NavigationSystem");
|
|
|
|
|
SettingsModule->UnregisterSettings("Project", "Engine", "NavigationMesh");
|
|
|
|
|
SettingsModule->UnregisterSettings("Project", "Engine", "Input");
|
2014-08-22 07:18:30 -04:00
|
|
|
SettingsModule->UnregisterSettings("Project", "Engine", "Collision");
|
2014-03-14 14:13:41 -04:00
|
|
|
SettingsModule->UnregisterSettings("Project", "Engine", "Physics");
|
|
|
|
|
SettingsModule->UnregisterSettings("Project", "Engine", "Rendering");
|
|
|
|
|
// SettingsModule->UnregisterSettings("Project", "Engine", "NetworkManager");
|
|
|
|
|
|
2014-08-22 07:18:30 -04:00
|
|
|
// project settings
|
|
|
|
|
SettingsModule->UnregisterSettings("Project", "Project", "General");
|
|
|
|
|
SettingsModule->UnregisterSettings("Project", "Project", "Maps");
|
|
|
|
|
SettingsModule->UnregisterSettings("Project", "Project", "Packaging");
|
|
|
|
|
SettingsModule->UnregisterSettings("Project", "Project", "SupportedPlatforms");
|
|
|
|
|
SettingsModule->UnregisterSettings("Project", "Project", "Movies");
|
2015-04-02 05:30:34 -04:00
|
|
|
|
|
|
|
|
// Editor settings
|
|
|
|
|
SettingsModule->UnregisterSettings("Editor", "Editor", "Appearance");
|
|
|
|
|
|
2014-08-22 07:18:30 -04:00
|
|
|
// SettingsModule->UnregisterSettings("Project", "Project", "GameSession");
|
|
|
|
|
// SettingsModule->UnregisterSettings("Project", "Project", "HUD");
|
2014-03-14 14:13:41 -04:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
2014-10-27 07:53:18 -04:00
|
|
|
/** Handles creating the project settings tab. */
|
2014-03-14 14:13:41 -04:00
|
|
|
TSharedRef<SDockTab> HandleSpawnSettingsTab( const FSpawnTabArgs& SpawnTabArgs )
|
|
|
|
|
{
|
|
|
|
|
TSharedRef<SWidget> SettingsEditor = SNullWidget::NullWidget;
|
2014-10-27 07:53:18 -04:00
|
|
|
ISettingsModule* SettingsModule = FModuleManager::GetModulePtr<ISettingsModule>("Settings");
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
if (SettingsModule != nullptr)
|
|
|
|
|
{
|
|
|
|
|
ISettingsContainerPtr SettingsContainer = SettingsModule->GetContainer("Project");
|
|
|
|
|
|
|
|
|
|
if (SettingsContainer.IsValid())
|
|
|
|
|
{
|
2014-10-27 07:53:55 -04:00
|
|
|
ISettingsEditorModule& SettingsEditorModule = FModuleManager::GetModuleChecked<ISettingsEditorModule>("SettingsEditor");
|
2014-03-14 14:13:41 -04:00
|
|
|
ISettingsEditorModelRef SettingsEditorModel = SettingsEditorModule.CreateModel(SettingsContainer.ToSharedRef());
|
|
|
|
|
|
|
|
|
|
SettingsEditor = SettingsEditorModule.CreateEditor(SettingsEditorModel);
|
|
|
|
|
SettingsEditorModelPtr = SettingsEditorModel;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return SNew(SDockTab)
|
|
|
|
|
.TabRole(ETabRole::NomadTab)
|
|
|
|
|
[
|
|
|
|
|
SettingsEditor
|
|
|
|
|
];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
2014-10-27 07:53:18 -04:00
|
|
|
/** Holds a pointer to the settings editor's view model. */
|
2014-03-14 14:13:41 -04:00
|
|
|
TWeakPtr<ISettingsEditorModel> SettingsEditorModelPtr;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
IMPLEMENT_MODULE(FProjectSettingsViewerModule, ProjectSettingsViewer);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#undef LOCTEXT_NAMESPACE
|