#pragma once #include "CoreMinimal.h" #include "EdGraph/EdGraphNode.h" #include "DismembermentGraphNode.generated.h" /** * Base class for all dismemberment graph nodes */ UCLASS() class FLESHEDITOR_API UDismembermentGraphNode : public UEdGraphNode { GENERATED_BODY() public: UDismembermentGraphNode(); // Node title color UPROPERTY(EditAnywhere, Category = "Appearance") FLinearColor NodeTitleColor; // Node category UPROPERTY(EditAnywhere, Category = "Category") FText NodeCategory; // Node description UPROPERTY(EditAnywhere, Category = "Description") FText NodeDescription; // UEdGraphNode interface virtual void AllocateDefaultPins() override; virtual FText GetNodeTitle(ENodeTitleType::Type TitleType) const override; virtual FLinearColor GetNodeTitleColor() const override; virtual FText GetTooltipText() const override; virtual FText GetMenuCategory() const; // End of UEdGraphNode interface // Compile this node into executable logic virtual void CompileNode(class FDismembermentCompiler* Compiler); // Execute this node virtual void ExecuteNode(class FDismembermentExecutor* Executor); };