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