Navigation
API > API/Plugins > API/Plugins/PCG
Inheritance Hierarchy
- UObject
- UPCGNode
- UPCGBaseSubgraphNode
- UPCGSpawnActorNode
- UPCGSubgraphNode
References
| Module | PCG |
| Header | /Engine/Plugins/PCG/Source/PCG/Public/PCGNode.h |
| Include | #include "PCGNode.h" |
Syntax
UCLASS (ClassGroup=(Procedural))
class UPCGNode : public UObject
Variables
| Type | Name | Description | |
|---|---|---|---|
| uint8: 1 | bCommentBubblePinned | ||
| uint8: 1 | bCommentBubbleVisible | ||
| TArray< TObjectPtr< UPCGPin > > | InputPins | ||
| FString | NodeComment | ||
| FName | NodeTitle | ||
| FLinearColor | NodeTitleColor | ||
| FOnPCGNodeChanged | OnNodeChangedDelegate | ||
| TArray< TObjectPtr< UPCGPin > > | OutputPins | ||
| int32 | PositionX | ||
| int32 | PositionY | ||
| TObjectPtr< UPCGSettingsInterface > | SettingsInterface | Note: do not set this property directly from code, use SetSettingsInterface instead |
Constructors
| Type | Name | Description | |
|---|---|---|---|
UPCGNode
(
const FObjectInitializer& ObjectInitializer |
Functions
| Type | Name | Description | |
|---|---|---|---|
| UPCGNode * | Adds an edge in the owning graph to the given "To" node. | ||
| void | Used to be able to force deprecation when things need to be deprecated at the graph level. | ||
| void | ~End UObject interface UpdatePins will kick off invalid edges, so this is useful for making pin changes graceful. | ||
| void | If a node does require structural changes, this will apply them | ||
| void | BeginDestroy () |
||
| void | CreateDefaultPins
(
TFunctionRef< UPCGPin*(UPCGNode*)> PinAllocator |
When we create a new graph, we initialize the input/output nodes as default, with default pins. | |
| FText | Authored part of node title (like "Create Attribute 1"). | ||
| FText | Title to use if no title is authored. | ||
| const UPCGPin * | Returns the first connected input pin on the node. | ||
| const UPCGPin * | Returns the first connected output pin on the node. | ||
| FText | Generated part of node title, not user editable (like "MyValue = 5.0"). | ||
| UPCGGraph * | GetGraph () |
Returns the owning graph | |
| int32 | |||
| const UPCGPin * | GetInputPin
(
const FName& Label |
||
| UPCGPin * | GetInputPin
(
const FName& Label |
||
| const TArray< TObjectPtr< UPCGPin > > & | GetInputPins () |
||
| void | GetNodePosition
(
int32& OutPositionX, |
||
| FText | GetNodeTitle
(
EPCGNodeTitleType TitleType |
Get title for node of specified type. | |
| FText | Tooltip that describes node functionality and other information. | ||
| const UPCGPin * | GetOutputPin
(
const FName& Label |
||
| UPCGPin * | GetOutputPin
(
const FName& Label |
||
| const TArray< TObjectPtr< UPCGPin > > & | |||
| const UPCGPin * | Pin from which data is passed through when this node is disabled. | ||
| const UPCGPin * | Pin to which data is passed through when this node is disabled. | ||
| UPCGSettings * | GetSettings () |
Returns the settings this node holds (either directly or through an instance) | |
| UPCGSettingsInterface * | Returns the settings interface (settings or instance of settings) on this node | ||
| bool | Whether user has renamed the node. | ||
| bool | Whether to flip the order of the title lines - display generated title first and authored second. | ||
| bool | |||
| TArray< FPCGPinProperties > | Returns all the input pin properties | ||
| bool | IsEdgeUsedByNodeExecution
(
const UPCGEdge* InEdge |
True if the edge is being used by the node. UI will gray out unused pins. | |
| bool | IsInputPinConnected
(
const FName& Label |
Returns true if the input pin is connected | |
| bool | IsInputPinRequiredByExecution
(
const UPCGPin* InPin |
A node will be executed (not culled) if at least one required-pin is connected to at least one active upstream pin. | |
| bool | IsInstance () |
Returns true if the node has an instance of the settings (e.g. does not own the settings) | |
| bool | IsOutputPinConnected
(
const FName& Label |
Returns true if the output pin is connected | |
| bool | IsPinUsedByNodeExecution
(
const UPCGPin* InPin |
True if the pin is being used by the node. UI will gray out unused pins. | |
| void | OnSettingsChanged
(
UPCGSettings* InSettings, |
||
| TArray< FPCGPinProperties > | Returns all the output pin properties | ||
| void | PostEditChangeProperty
(
FPropertyChangedEvent& PropertyChangedEvent |
||
| void | PostEditUndo () |
||
| void | PostLoad () |
~Begin UObject interface | |
| void | PreEditUndo () |
||
| EPCGChangeType | PropagateDynamicPinTypes
(
TSet< UPCGNode* >& TouchedNodes, |
Recursively follow downstream edges and call UpdatePins on each node that has dynamic pins. | |
| void | |||
| bool | RemoveEdgeTo
(
FName FromPinLable, |
Removes an edge originating from this node | |
| void | RenameInputPin
(
const FName& InOldLabel, |
Allow to change the name of a pin, to keep edges connected. | |
| void | RenameOutputPin
(
const FName& InOldLabel, |
||
| void | SetNodePosition
(
int32 InPositionX, |
||
| void | SetSettingsInterface
(
UPCGSettingsInterface* InSettingsInterface, |
Changes the default settings in the node | |
| void | TransferEditorProperties
(
UPCGNode* OtherNode |
Transfer all editor only properties to the other node | |
| void | Triggers some uppdates after creating a new node and changing its settings | ||
| EPCGChangeType | UpdatePins () |
Updates pins based on node settings. | |
| EPCGChangeType | UpdatePins
(
TFunctionRef< UPCGPin*(UPCGNode*)> PinAllocator |
Updates pins based on node settings PinAllocator creates new pin objects. |
Deprecated Variables
| Type | Name | Description | |
|---|---|---|---|
| TObjectPtr< UPCGSettings > | DefaultSettings_DEPRECATED | ||
| TArray< TObjectPtr< UPCGEdge > > | InboundEdges_DEPRECATED | ||
| TArray< TObjectPtr< UPCGEdge > > | OutboundEdges_DEPRECATED | ||
| TArray< TObjectPtr< UPCGNode > > | OutboundNodes_DEPRECATED |