Navigation
API > API/Editor > API/Editor/BlueprintGraph
Intended to be wrapped and used by FBlueprintActionMenuItem. Rather than sub-classing the menu item, we choose to subclass this instead (for different node types). That way, we get the type inference that comes with UObjects (and we don't have to continuously compare identification strings).
| Name | UBlueprintNodeSpawner |
| Type | class |
| Header File | /Engine/Source/Editor/BlueprintGraph/Public/BlueprintNodeSpawner.h |
| Include Path | #include "BlueprintNodeSpawner.h" |
Syntax
UCLASS (MinimalAPI, Transient)
class UBlueprintNodeSpawner :
public UObject ,
public IBlueprintNodeBinder
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UBlueprintNodeSpawner
Implements Interfaces
Derived Classes
UBlueprintNodeSpawner derived class hierarchy
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
UBlueprintNodeSpawner
(
const FObjectInitializer& ObjectInitializer |
BlueprintNodeSpawner.h |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FCustomizeNodeDelegate | TBaseDelegate_TwoParams< void, UEdGraphNode *, bool > | BlueprintNodeSpawner.h | |
| FUiSpecOverrideDelegate | TBaseDelegate_ThreeParams< void, FBlueprintActionContext const &, FBindingSet const &, FBlueprintActionUiSpec * > | BlueprintNodeSpawner.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| CustomizeNodeDelegate | FCustomizeNodeDelegate | A delegate to perform specialized node setup post-spawn (so you don't have to sub-class this for every node type). | BlueprintNodeSpawner.h | |
| DefaultMenuSignature | FBlueprintActionUiSpec | Defines how this spawner is presented in the ui | BlueprintNodeSpawner.h | |
| DynamicUiSignatureGetter | FUiSpecOverrideDelegate | Provides a way to override DefaultMenuSignature based off blueprint/graph/menu context | BlueprintNodeSpawner.h | |
| NodeClass | TSubclassOf< UEdGraphNode > | Holds the node type that this spawner will instantiate. | BlueprintNodeSpawner.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void ClearCachedTemplateNode() |
Removes the spawner's cached template node (if it has one), meaning that the next GetTemplateNode() call will spawn a new one (and that calls to GetCachedTemplateNode() will return null). | BlueprintNodeSpawner.h | |
| Retrieves a cached template for the node that this is set to spawn. | BlueprintNodeSpawner.h | ||
virtual FBlueprintNodeSignature GetSpawnerSignature () |
We want to be able to compare spawners, and have a signature that is rebuildable on subsequent runs. | BlueprintNodeSpawner.h | |
UEdGraphNode * GetTemplateNode
(
UEdGraph* TargetGraph, |
Retrieves a cached template for the node that this is set to spawn. | BlueprintNodeSpawner.h | |
virtual FBlueprintActionUiSpec GetUiSpec
(
FBlueprintActionContext const& Context, |
Takes the default FBlueprintActionUiSpec and modifies it dynamically to accommodate the current context. | BlueprintNodeSpawner.h | |
virtual UEdGraphNode * Invoke
(
UEdGraph* ParentGraph, |
Takes care of spawning a node for the specified graph. | BlueprintNodeSpawner.h | |
virtual bool IsTemplateNodeFilteredOut
(
FBlueprintActionFilter const& Filter |
Determine if the node of this spawner's template's type should be filtered in the actions menu | BlueprintNodeSpawner.h | |
virtual void Prime () |
Not required, but intended to passively help speed up menu building operations. | BlueprintNodeSpawner.h | |
FBlueprintActionUiSpec const & PrimeDefaultUiSpec
(
UEdGraph* TargetGraph |
Takes the FBlueprintActionUiSpec that this was spawned with and attempts to fill in any missing fields (by polling a template node). | BlueprintNodeSpawner.h |
Overridden from UObject
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void BeginDestroy() |
BlueprintNodeSpawner.h |
Overridden from IBlueprintNodeBinder
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool CanBindMultipleObjects() |
Determines if this will accept more than one binding (used to block multiple bindings from being applied to nodes that can only have one). | BlueprintNodeSpawner.h | |
virtual bool IsBindingCompatible
(
FBindingObject BindingCandidate |
Checks to see if the specified object can be bound by this. | BlueprintNodeSpawner.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| Simplified version of the other SpawnNode(), that just let's sub-classes specify their own post-spawn delegate (the node class is comes directly from the template parameter). | BlueprintNodeSpawner.h | ||
NodeType * SpawnNode
(
TSubclassOf< UEdGraphNode > NodeClass, |
Protected SpawnNode() that let's sub-classes specify their own post-spawn delegate and node class. | BlueprintNodeSpawner.h |
Overridden from IBlueprintNodeBinder
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool BindToNode
(
UEdGraphNode* Node, |
Attempts to apply the specified binding to the supplied node. | BlueprintNodeSpawner.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static UBlueprintNodeSpawner * Create
(
TSubclassOf< UEdGraphNode > const NodeClass, |
Creates a new UBlueprintNodeSpawner for the specified node class. | BlueprintNodeSpawner.h | |
static UBlueprintNodeSpawner * Create
(
UObject* Outer, |
Templatized version of the above Create() method (where we specify the spawner's node class through the template argument). | BlueprintNodeSpawner.h |