in src/cpp/RiderLink/Source/RiderBlueprint/Private/RiderBlueprint.cpp [46:99]
void FRiderBlueprintModule::StartupModule()
{
UE_LOG(FLogRiderBlueprintModule, Verbose, TEXT("STARTUP START"));
IRiderLinkModule& RiderLinkModule = IRiderLinkModule::Get();
ModuleLifetimeDef = RiderLinkModule.CreateNestedLifetimeDefinition();
const FAssetRegistryModule* AssetRegistryModule = &FModuleManager::LoadModuleChecked<FAssetRegistryModule>
(AssetRegistryConstants::ModuleName);
MessageEndpoint = FMessageEndpoint::Builder(FName("FAssetEditorManager")).Build();
AssetRegistryModule->Get().OnAssetAdded().AddLambda([](const FAssetData& AssetData) {
// TO-DO: Fix loading uasset's on 4.23-
// BluePrintProvider::AddAsset(AssetData);
});
RiderLinkModule.ViewModel(ModuleLifetimeDef.lifetime, [this] (rd::Lifetime ModelLifetime, JetBrains::EditorPlugin::RdEditorModel const& UnrealToBackendModel)
{
UnrealToBackendModel.get_openBlueprint().advise(
ModelLifetime,
[this, &UnrealToBackendModel](
JetBrains::EditorPlugin::BlueprintReference const& s)
{
try
{
AllowSetForeGroundForEditor(UnrealToBackendModel);
auto Window = FGlobalTabmanager::Get()->GetRootWindow();
if (!Window.IsValid()) return;
if (Window->IsWindowMinimized())
{
Window->Restore();
}
else
{
Window->HACK_ForceToFront();
}
BluePrintProvider::OpenBlueprint(s, MessageEndpoint);
}
catch (std::exception const& e)
{
std::cerr << rd::to_string(e);
}
}
);
UnrealToBackendModel.get_isBlueprintPathName().set([](FString const& pathName) -> bool
{
return BluePrintProvider::IsBlueprint(pathName);
});
});
UE_LOG(FLogRiderBlueprintModule, Verbose, TEXT("STARTUP FINISH"));
}