You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
Plugin config file usage
#codereview Josh.Adams Merging CL 2337697 //depot/UE4-UT/... to //depot/UE4/... [CL 2338785 by Peter Knepley in Main branch]
This commit is contained in:
@@ -298,25 +298,41 @@ bool FPluginManager::ConfigureEnabledPlugins()
|
||||
}
|
||||
}
|
||||
|
||||
// Build the list of content folders
|
||||
ContentFolders.Empty();
|
||||
for(const TSharedRef<FPluginInstance>& Plugin: AllPlugins)
|
||||
{
|
||||
if(Plugin->bEnabled && Plugin->Descriptor.bCanContainContent)
|
||||
if (Plugin->bEnabled)
|
||||
{
|
||||
FPluginContentFolder ContentFolder;
|
||||
ContentFolder.Name = Plugin->Name;
|
||||
ContentFolder.RootPath = FString::Printf(TEXT("/%s/"), *Plugin->Name);
|
||||
ContentFolder.ContentPath = FPaths::GetPath(Plugin->FileName) / TEXT("Content");
|
||||
ContentFolders.Emplace(ContentFolder);
|
||||
|
||||
if (auto EngineConfigFile = GConfig->Find(GEngineIni, false))
|
||||
// Build the list of content folders
|
||||
if (Plugin->Descriptor.bCanContainContent)
|
||||
{
|
||||
if (auto CoreSystemSection = EngineConfigFile->Find(TEXT("Core.System")))
|
||||
FPluginContentFolder ContentFolder;
|
||||
ContentFolder.Name = Plugin->Name;
|
||||
ContentFolder.RootPath = FString::Printf(TEXT("/%s/"), *Plugin->Name);
|
||||
ContentFolder.ContentPath = FPaths::GetPath(Plugin->FileName) / TEXT("Content");
|
||||
ContentFolders.Emplace(ContentFolder);
|
||||
|
||||
if (auto EngineConfigFile = GConfig->Find(GEngineIni, false))
|
||||
{
|
||||
CoreSystemSection->AddUnique("Paths", ContentFolder.ContentPath);
|
||||
if (auto CoreSystemSection = EngineConfigFile->Find(TEXT("Core.System")))
|
||||
{
|
||||
CoreSystemSection->AddUnique("Paths", ContentFolder.ContentPath);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Load Default<PluginName>.ini config file if it exists
|
||||
FString PluginConfigDir = FPaths::GetPath(Plugin->FileName) / TEXT("Config/");
|
||||
FConfigFile PluginConfig;
|
||||
FConfigCacheIni::LoadExternalIniFile(PluginConfig, *Plugin->Name, *FPaths::EngineConfigDir(), *PluginConfigDir, true);
|
||||
if (PluginConfig.Num() > 0)
|
||||
{
|
||||
FString PlaformName = FPlatformProperties::PlatformName();
|
||||
FString PluginConfigFilename = FString::Printf(TEXT("%s%s/%s.ini"), *FPaths::GeneratedConfigDir(), *PlaformName, *Plugin->Name);
|
||||
FConfigFile& NewConfigFile = GConfig->Add(PluginConfigFilename, FConfigFile());
|
||||
NewConfigFile.AddMissingProperties(PluginConfig);
|
||||
NewConfigFile.Write(PluginConfigFilename);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user