Files
UnrealEngine/Engine/Plugins/FX/Niagara/Source/NiagaraEditor/Private/NiagaraBakerOutputRegistry.h
2025-05-18 13:04:45 +08:00

32 lines
743 B
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "PropertyEditorDelegates.h"
class FNiagaraBakerOutputRenderer;
class IDetailsView;
class FNiagaraBakerOutputRegistry
{
struct FRegistryEntry
{
TWeakObjectPtr<UClass> WeakClass;
IConsoleVariable* ShouldShowCVar = nullptr;
TFunction<FNiagaraBakerOutputRenderer*()> CreateRenderer;
FOnGetDetailCustomizationInstance CreateCustomization;
};
public:
static FNiagaraBakerOutputRegistry& Get();
TArray<UClass*> GetOutputClasses() const;
FNiagaraBakerOutputRenderer* GetRendererForClass(UClass* Class) const;
void RegisterCustomizations(IDetailsView* DetailsView) const;
private:
TArray<FRegistryEntry> Registry;
};