52 lines
1.4 KiB
C++
52 lines
1.4 KiB
C++
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "EdGraphUtilities.h"
|
|
|
|
class UDismembermentGraphNode;
|
|
class SDismembermentGraphNode;
|
|
|
|
/**
|
|
* Dismemberment graph node factory
|
|
* Used to create visual representations of dismemberment graph nodes
|
|
*/
|
|
class FDismembermentGraphNodeFactory : public FGraphPanelNodeFactory
|
|
{
|
|
public:
|
|
// Constructor
|
|
FDismembermentGraphNodeFactory();
|
|
|
|
FDismembermentGraphNodeFactory(UClass* InNodeClass, const FText& InDisplayName, const FText& InTooltip);
|
|
|
|
// FGraphPanelNodeFactory interface
|
|
virtual TSharedPtr<SGraphNode> CreateNode(UEdGraphNode* Node) const override;
|
|
// End of interface
|
|
|
|
private:
|
|
// Node class
|
|
UClass* NodeClass;
|
|
|
|
// Display name
|
|
FText DisplayName;
|
|
|
|
// Tooltip
|
|
FText Tooltip;
|
|
};
|
|
|
|
/**
|
|
* Dismemberment schema action - New node
|
|
* Used to create new nodes in the context menu
|
|
*/
|
|
class FDismembermentSchemaAction_NewNode : public FEdGraphSchemaAction
|
|
{
|
|
public:
|
|
// Constructor
|
|
FDismembermentSchemaAction_NewNode(const FText& InNodeCategory, const FText& InMenuDesc, const FText& InToolTip, const int32 InGrouping);
|
|
|
|
// Perform action
|
|
virtual UEdGraphNode* PerformAction(UEdGraph* ParentGraph, UEdGraphPin* FromPin, const FVector2D Location, bool bSelectNewNode = true) override;
|
|
|
|
// Node class
|
|
TSubclassOf<UDismembermentGraphNode> NodeClass;
|
|
};
|