More MCP work
This commit is contained in:
@@ -14,6 +14,7 @@
|
||||
MCPAssetsBase::MCPAssetsBase(UClass* InTargetClass)
|
||||
: TargetClass(InTargetClass)
|
||||
{
|
||||
Scans.Add(InTargetClass);
|
||||
}
|
||||
|
||||
MCPAssetsBase& MCPAssetsBase::Exact(const FString& InName)
|
||||
@@ -62,10 +63,8 @@ bool MCPAssetsBase::Info()
|
||||
IAssetRegistry& AR = FModuleManager::LoadModuleChecked<FAssetRegistryModule>("AssetRegistry").Get();
|
||||
while (AR.IsLoadingAssets()) FPlatformProcess::Sleep(0.1f);
|
||||
|
||||
FARFilter Filter;
|
||||
TArray<FAssetData> Candidates;
|
||||
ConfigureFilterClassPaths(Filter);
|
||||
AR.GetAssets(Filter, Candidates);
|
||||
AR.GetAssets(ConfigureFilter(), Candidates);
|
||||
for (const FAssetData &Data : Candidates)
|
||||
{
|
||||
if (AssetMatches(Data)) AssetResults.Add(Data);
|
||||
@@ -117,22 +116,17 @@ bool MCPAssetsBase::Load()
|
||||
return true;
|
||||
}
|
||||
|
||||
void MCPAssetsBase::ConfigureFilterClassPaths(FARFilter &Filter)
|
||||
FARFilter MCPAssetsBase::ConfigureFilter()
|
||||
{
|
||||
if (Classes.IsEmpty())
|
||||
{
|
||||
Filter.ClassPaths.Add(TargetClass->GetClassPathName());
|
||||
}
|
||||
else
|
||||
{
|
||||
for (UClass* C : Classes) Filter.ClassPaths.Add(C->GetClassPathName());
|
||||
}
|
||||
FARFilter Filter;
|
||||
for (UClass* C : Scans) Filter.ClassPaths.Add(C->GetClassPathName());
|
||||
Filter.bRecursiveClasses = !bNoDerived;
|
||||
if (!bAllContent)
|
||||
{
|
||||
Filter.PackagePaths.Add(FName(TEXT("/Game")));
|
||||
Filter.bRecursivePaths = true;
|
||||
}
|
||||
return Filter;
|
||||
}
|
||||
|
||||
bool MCPAssetsBase::AssetMatches(const FAssetData &Asset)
|
||||
|
||||
Reference in New Issue
Block a user