38 lines
857 B
C++
38 lines
857 B
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#include "UniversalObjectLocatorRegistry.h"
|
|
#include "UniversalObjectLocatorFwd.h"
|
|
#include "UniversalObjectLocatorFragmentType.h"
|
|
#include "Algo/Find.h"
|
|
|
|
namespace UE::UniversalObjectLocator
|
|
{
|
|
|
|
FRegistry& FRegistry::Get()
|
|
{
|
|
static FRegistry Registry;
|
|
return Registry;
|
|
}
|
|
|
|
const FFragmentType* FRegistry::FindFragmentType(FName ID) const
|
|
{
|
|
return Algo::FindBy(FragmentTypes, ID, &FFragmentType::FragmentTypeID);
|
|
}
|
|
|
|
void FRegistry::AddReferencedObjects(FReferenceCollector& Collector)
|
|
{
|
|
Collector.AddReferencedObjects(ParameterTypes);
|
|
|
|
for (FFragmentType& FragmentType : FragmentTypes)
|
|
{
|
|
Collector.AddReferencedObject(FragmentType.PayloadType);
|
|
}
|
|
}
|
|
|
|
FString FRegistry::GetReferencerName() const
|
|
{
|
|
return TEXT("UE::UniversalObjectLocator::FRegistry");
|
|
}
|
|
|
|
|
|
} // namespace UE::UniversalObjectLocator
|