Files
UnrealEngineUWP/Engine/Source/Developer/Virtualization/Private/Virtualization.cpp
paul chipchase 172a1f046f Do not use/include the MessageLog module in the Virtualization module if the target is not building for slate.
#rb Per.Larsson
#jira UE-198807
#rnx

- We only needed the MessageLog module to setup a VA tab in the message log slate window which only matters if we are actually building for a target that uses slate.

[CL 29043098 by paul chipchase in ue5-main branch]
2023-10-24 07:26:08 -04:00

52 lines
1.5 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "Modules/ModuleManager.h"
#include "Features/IModularFeatures.h"
#include "VirtualizationSourceControlUtilities.h"
#if UE_VA_WITH_SLATE
#include "MessageLogModule.h"
#endif //UE_VA_WITH_SLATE
#define LOCTEXT_NAMESPACE "Virtualization"
namespace UE::Virtualization
{
class FVirtualizationModule : public IModuleInterface
{
public:
virtual void StartupModule() override
{
IModularFeatures::Get().RegisterModularFeature(FName("VirtualizationSourceControlUtilities"), &SourceControlutility);
#if UE_VA_WITH_SLATE
FMessageLogModule& MessageLogModule = FModuleManager::LoadModuleChecked<FMessageLogModule>("MessageLog");
MessageLogModule.RegisterLogListing("LogVirtualization", LOCTEXT("AssetVirtualizationLogLabel", "Asset Virtualization"));
#endif //UE_VA_WITH_SLATE
}
virtual void ShutdownModule() override
{
#if UE_VA_WITH_SLATE
if (FModuleManager::Get().IsModuleLoaded("MessageLog"))
{
FMessageLogModule& MessageLogModule = FModuleManager::GetModuleChecked<FMessageLogModule>("MessageLog");
MessageLogModule.UnregisterLogListing("LogVirtualization&");
}
#endif //UE_VA_WITH_SLATE
IModularFeatures::Get().UnregisterModularFeature(FName("VirtualizationSourceControlUtilities"), &SourceControlutility);
}
private:
Experimental::FVirtualizationSourceControlUtilities SourceControlutility;
};
} // namespace UE::Virtualization
#undef LOCTEXT_NAMESPACE
IMPLEMENT_MODULE(UE::Virtualization::FVirtualizationModule, Virtualization);