Files
UnrealEngine/Engine/Plugins/FX/Niagara/Source/NiagaraBlueprintNodes/Private/NiagaraBlueprintNodesModule.cpp
Brandyn / Techy fcc1b09210 init
2026-04-04 15:40:51 -05:00

52 lines
1.5 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "Modules/ModuleInterface.h"
#include "Modules/ModuleManager.h"
#include "BlueprintActionDatabase.h"
#include "BlueprintEditorLibrary.h"
#include "K2Node_DataChannel_WithContext.h"
#include "NiagaraBlueprintNodesDetails.h"
#include "PropertyEditorModule.h"
class FNiagaraBlueprintNodesModule : public IModuleInterface
{
public:
virtual void StartupModule() override;
virtual void ShutdownModule() override;
private:
/** Callback for changes to other modules. Allows us to refresh certain things to reflect new types or changes etc. */
void OnModulesChanged(FName Module, EModuleChangeReason Reason);
FDelegateHandle OnModulesChangedHandle;
};
void FNiagaraBlueprintNodesModule::StartupModule()
{
OnModulesChangedHandle = FModuleManager::Get().OnModulesChanged().AddRaw(this, &FNiagaraBlueprintNodesModule::OnModulesChanged);
FPropertyEditorModule& PropertyModule = FModuleManager::LoadModuleChecked<FPropertyEditorModule>("PropertyEditor");
PropertyModule.RegisterCustomClassLayout(
UK2Node_DataChannelAccessContextOperation::StaticClass()->GetFName(),
FOnGetDetailCustomizationInstance::CreateStatic(&FNDCAccessContextOperationNodeDetailsDetails::MakeInstance));
}
void FNiagaraBlueprintNodesModule::ShutdownModule()
{
FModuleManager::Get().OnModulesChanged().Remove(OnModulesChangedHandle);
}
void FNiagaraBlueprintNodesModule::OnModulesChanged(FName Module, EModuleChangeReason Reason)
{
}
IMPLEMENT_MODULE(FNiagaraBlueprintNodesModule, NiagaraBlueprintNodes);