Files
Brandyn / Techy fcc1b09210 init
2026-04-04 15:40:51 -05:00

70 lines
2.1 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "RenderGridDeveloperLibrary.h"
#include "AssetRegistry/AssetData.h"
#include "AssetRegistry/AssetRegistryModule.h"
#include "AssetRegistry/IAssetRegistry.h"
#include "Blueprints/RenderGridBlueprint.h"
#include "RenderGrid/RenderGrid.h"
TArray<URenderGridBlueprint*> URenderGridDeveloperLibrary::GetAllRenderGridBlueprintAssets()
{
FARFilter Filter;
Filter.bIncludeOnlyOnDiskAssets = false;
Filter.ClassPaths = {URenderGridBlueprint::StaticClass()->GetClassPathName()};
Filter.bRecursivePaths = true;
TArray<FAssetData> AssetsData;
IAssetRegistry& AssetRegistry = FModuleManager::Get().LoadModuleChecked<FAssetRegistryModule>(TEXT("AssetRegistry")).Get();
AssetRegistry.GetAssets(Filter, AssetsData);
TArray<URenderGridBlueprint*> Result;
for (const FAssetData& AssetData : AssetsData)
{
if (URenderGridBlueprint* RenderGridBlueprint = Cast<URenderGridBlueprint>(AssetData.GetAsset()); IsValid(RenderGridBlueprint))
{
Result.Add(RenderGridBlueprint);
}
}
return Result;
}
TArray<URenderGrid*> URenderGridDeveloperLibrary::GetAllRenderGridAssets()
{
TArray<URenderGrid*> Result;
for (URenderGridBlueprint* RenderGridBlueprint : GetAllRenderGridBlueprintAssets())
{
if (URenderGrid* RenderGrid = RenderGridBlueprint->GetRenderGridWithBlueprintGraph(); IsValid(RenderGrid))
{
Result.Add(RenderGrid);
}
}
return Result;
}
URenderGridBlueprint* URenderGridDeveloperLibrary::GetRenderGridBlueprintAsset(const FString& ObjectPath)
{
if (FSoftObjectPath AssetPath = FSoftObjectPath(ObjectPath); AssetPath.IsValid())
{
if (URenderGridBlueprint* RenderGridBlueprint = Cast<URenderGridBlueprint>(AssetPath.TryLoad()); IsValid(RenderGridBlueprint))
{
return RenderGridBlueprint;
}
}
return nullptr;
}
URenderGrid* URenderGridDeveloperLibrary::GetRenderGridAsset(const FString& ObjectPath)
{
if (URenderGridBlueprint* RenderGridBlueprint = GetRenderGridBlueprintAsset(ObjectPath); IsValid(RenderGridBlueprint))
{
if (URenderGrid* RenderGrid = RenderGridBlueprint->GetRenderGridWithBlueprintGraph(); IsValid(RenderGrid))
{
return RenderGrid;
}
}
return nullptr;
}