Files
UnrealEngine/Engine/Source/Developer/ScreenShotComparisonTools/Private/ScreenShotToolsModule.cpp
2025-05-18 13:04:45 +08:00

60 lines
1.3 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
/*=============================================================================
ScreenShotToolsModule.cpp: Implements the FScreenShotToolsModule class.
=============================================================================*/
#include "CoreMinimal.h"
#include "Modules/ModuleManager.h"
#include "Interfaces/IScreenShotToolsModule.h"
#include "ScreenShotManager.h"
/**
* Implements the ScreenshotTools module.
*/
class FScreenShotToolsModule
: public IScreenShotToolsModule
{
public:
// Begin IScreenShotToolsModule interface
virtual IScreenShotManagerPtr GetScreenShotManager() override
{
return ScreenShotManager;
}
// End IScreenShotToolsModule interface
public:
/**
* Shutdown the screen shot manager tools module
*/
virtual void ShutdownModule( ) override
{
ScreenShotManager.Reset();
}
/**
* Startup the screen shot manager tools module
*/
void StartupModule() override
{
// Create the screen shot manager
if (!ScreenShotManager.IsValid())
{
ScreenShotManager = MakeShareable(new FScreenShotManager());
}
}
private:
// Holds the screen shot manager.
IScreenShotManagerPtr ScreenShotManager;
};
IMPLEMENT_MODULE(FScreenShotToolsModule, ScreenShotComparisonTools);