You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
{
"Name": "ModelViewViewModelAssetSearch",
"Type": "Editor",
"LoadingPhase": "Default"
}
],
"Plugins": [
{
"Name": "AssetSearch",
"Enabled": true,
"Optional": true
]
#rb editor-ui-systems
#preflight 6453f968386cf3c273d47cde
[CL 25352167 by Patrick Boutot in ue5-main branch]
62 lines
1.5 KiB
C++
62 lines
1.5 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
|
|
#include "Modules/ModuleInterface.h"
|
|
#include "Modules/ModuleManager.h"
|
|
|
|
#include "IAssetSearchModule.h"
|
|
#include "MVVMWidgetBlueprintExtension_View.h"
|
|
|
|
#include "MVVMAssetSearchIndexer.h"
|
|
|
|
#define LOCTEXT_NAMESPACE "ModelViewViewModelAssetSearch"
|
|
|
|
class FMVVMAssetSearchModule : public IModuleInterface
|
|
{
|
|
public:
|
|
virtual void StartupModule() override
|
|
{
|
|
if (IAssetSearchModule* Ptr = FModuleManager::GetModulePtr<IAssetSearchModule>(ModuleName))
|
|
{
|
|
RegisterAssetIndexer();
|
|
}
|
|
else
|
|
{
|
|
ModuleChangedHandle = FModuleManager::Get().OnModulesChanged().AddRaw(this, &FMVVMAssetSearchModule::HandleModulesChanged);
|
|
}
|
|
}
|
|
|
|
virtual void ShutdownModule() override
|
|
{
|
|
if (ModuleChangedHandle.IsValid())
|
|
{
|
|
FModuleManager::Get().OnModulesChanged().Remove(ModuleChangedHandle);
|
|
ModuleChangedHandle.Reset();
|
|
}
|
|
}
|
|
|
|
private:
|
|
void HandleModulesChanged(FName InModuleName, EModuleChangeReason InReason)
|
|
{
|
|
if (InModuleName == ModuleName && InReason == EModuleChangeReason::ModuleLoaded)
|
|
{
|
|
RegisterAssetIndexer();
|
|
FModuleManager::Get().OnModulesChanged().Remove(ModuleChangedHandle);
|
|
}
|
|
}
|
|
|
|
void RegisterAssetIndexer()
|
|
{
|
|
IAssetSearchModule::Get().RegisterAssetIndexer(UMVVMWidgetBlueprintExtension_View::StaticClass(), MakeUnique<UE::MVVM::Private::FAssetSearchIndexer>());
|
|
}
|
|
|
|
private:
|
|
const FName ModuleName = "AssetSearch";
|
|
FDelegateHandle ModuleChangedHandle;
|
|
};
|
|
|
|
|
|
IMPLEMENT_MODULE(FMVVMAssetSearchModule, ModelViewViewModelAssetSearch);
|
|
|
|
#undef LOCTEXT_NAMESPACE
|