Navigation
API > API/Plugins > API/Plugins/CustomizableObjectEditor
Base class of all Customizable Object nodes.
The Customizable Object node system is build on top of the following premises. To avoid breaking this system, these premise must be hold!
PREMISES:
A node can only be modified when a node is reconstructed (i.e., inside the ReconstructNode, AllocateDefaultPins functions). Exceptionally, a pin can also be created inside the BeginConstruct. We consider that a node has been modified if one of the following things happen:
- Creation, destruction and modification of pins.
- Modification of any data that would modify any pin.
| Name | UCustomizableObjectNode |
| Type | class |
| Header File | /Engine/Plugins/Mutable/Source/CustomizableObjectEditor/Public/MuCOE/Nodes/CustomizableObjectNode.h |
| Include Path | #include "MuCOE/Nodes/CustomizableObjectNode.h" |
Syntax
UCLASS (Abstract)
class UCustomizableObjectNode : public UEdGraphNode
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UEdGraphNode → UCustomizableObjectNode
Derived Classes
Structs
| Name | Remarks |
|---|---|
| FAttachedErrorDataView |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| DestroyNodeDelegate | FDestroyNodeDelegate | MuCOE/Nodes/CustomizableObjectNode.h | ||
| NodeConnectionListChangedDelegate | FNodeConnectionListChangedDelegate | MuCOE/Nodes/CustomizableObjectNode.h | ||
| PinConnectionListChangedDelegate | FPinConnectionListChangedDelegate | MuCOE/Nodes/CustomizableObjectNode.h | ||
| PostEditChangePropertyDelegate | FPostEditChangePropertyDelegate | MuCOE/Nodes/CustomizableObjectNode.h | ||
| PostEditChangePropertyRegularDelegate | FPostEditChangePropertyRegularDelegate | MuCOE/Nodes/CustomizableObjectNode.h | ||
| PostReconstructNodeDelegate | FPostReconstructNodeDelegate | MuCOE/Nodes/CustomizableObjectNode.h | ||
| RemapPinsDelegate | FRemapPinsDelegate | MuCOE/Nodes/CustomizableObjectNode.h |
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| PinsDataId | TMap< FGuid, TObjectPtr< UCustomizableObjectNodePinData > > | Data attached to a given pin. | MuCOE/Nodes/CustomizableObjectNode.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void AddAttachedErrorData
(
const FAttachedErrorDataView& |
MuCOE/Nodes/CustomizableObjectNode.h | ||
virtual void BackwardsCompatibleFixup
(
int32 CustomizableObjectCustomVersion |
Add backwards compatible code here. | MuCOE/Nodes/CustomizableObjectNode.h | |
virtual void BeginConstruct() |
Called at the beginning of the node lifecycle. | MuCOE/Nodes/CustomizableObjectNode.h | |
virtual void BeginPostDuplicate
(
bool bDuplicateForPIE |
Custom post duplicate function. | MuCOE/Nodes/CustomizableObjectNode.h | |
virtual bool CanConnect
(
const UEdGraphPin* InOwnedInputPin, |
Check if two pins can be connected. | MuCOE/Nodes/CustomizableObjectNode.h | |
virtual bool CanPinBeHidden
(
const UEdGraphPin& Pin |
Return true if a pin can be hidden. Override it to have a custom behaviour. | MuCOE/Nodes/CustomizableObjectNode.h | |
virtual bool CreateStaticStringPinWidget() |
If a node has a static string pin, this function determines if it should construct an input text widget next to the pin or not. | MuCOE/Nodes/CustomizableObjectNode.h | |
UEdGraphPin * CustomCreatePin
(
EEdGraphPinDirection Direction, |
Wrapper of the pin creation method, to cope with multiple Unreal Engine versions. | MuCOE/Nodes/CustomizableObjectNode.h | |
UEdGraphPin * CustomCreatePin
(
EEdGraphPinDirection Direction, |
Create pin with attached data. | MuCOE/Nodes/CustomizableObjectNode.h | |
UEdGraphPin * CustomCreatePinSimple
(
EEdGraphPinDirection Direction, |
Wrapper of the pin creation method. | MuCOE/Nodes/CustomizableObjectNode.h | |
virtual TSharedPtr< IDetailsView > CustomizePinDetails
(
const UEdGraphPin& Pin |
Returns pin custom details. Override if required. | MuCOE/Nodes/CustomizableObjectNode.h | |
virtual bool CustomRemovePin
(
UEdGraphPin& Pin |
Virtual implementation of RemovePin. | MuCOE/Nodes/CustomizableObjectNode.h | |
bool FindNodeForInternalTag
(
const FString& Tag, |
Find the object and node that a given tag refers to, if it belongs to the same CO hierarchy that this node. | MuCOE/Nodes/CustomizableObjectNode.h | |
void FixupReconstructPins
(
UCustomizableObjectNodeRemapPins* RemapPinsAction, |
Reconstructs the node pins using the provided AllocateDefaultPins function. | MuCOE/Nodes/CustomizableObjectNode.h | |
TArray< UEdGraphPin * > GetAllNonOrphanPins() |
Gets all non orphan pins this node owns. | MuCOE/Nodes/CustomizableObjectNode.h | |
TArray< UEdGraphPin * > GetAllOrphanPins() |
Gets all orphan pins this node owns. | MuCOE/Nodes/CustomizableObjectNode.h | |
UCustomizableObjectGraph * GetCustomizableObjectGraph() |
Get the CustomizableObject graph that owns this node. | MuCOE/Nodes/CustomizableObjectNode.h | |
virtual TArray< FString > GetEnableTags
(
TArray< const UCustomizableObjectNodeMacroInstance* >* MacroContext |
Return an array of tags that this node will enable and apply to its data. | MuCOE/Nodes/CustomizableObjectNode.h | |
virtual TArray< FString > * GetEnableTagsArray () |
Return an array with all tags defined in the node's details panel. | MuCOE/Nodes/CustomizableObjectNode.h | |
TSharedPtr< FCustomizableObjectGraphEditorToolkit > GetGraphEditor() |
MuCOE/Nodes/CustomizableObjectNode.h | ||
void GetInputPins
(
TArray< class UEdGraphPin* >& OutInputPins |
MuCOE/Nodes/CustomizableObjectNode.h | ||
FString GetInternalTag () |
Return the unique internal tag that can identify this node across all objects. | MuCOE/Nodes/CustomizableObjectNode.h | |
virtual FString GetInternalTagDisplayName () |
Return a non-unique, non-persistent UI-ready text to represent the interna tag of this node. | MuCOE/Nodes/CustomizableObjectNode.h | |
int32 GetLOD () |
Return the LOD which this node belongs to. | MuCOE/Nodes/CustomizableObjectNode.h | |
UEdGraphPin * GetOutputPin
(
int32 OutputIndex |
MuCOE/Nodes/CustomizableObjectNode.h | ||
void GetOutputPins
(
TArray< class UEdGraphPin* >& OutOutputPins |
MuCOE/Nodes/CustomizableObjectNode.h | ||
UEdGraphPin * GetPin
(
const UCustomizableObjectNodePinData& PinData |
Given the pin data, returns its associated pin. | MuCOE/Nodes/CustomizableObjectNode.h | |
T & GetPinData
(
const UEdGraphPin& Pin |
Given a pin which has attached data, get the typed pin data. | MuCOE/Nodes/CustomizableObjectNode.h | |
UCustomizableObjectNodePinData * GetPinData
(
const UEdGraphPin& Pin |
See GetPinData(const FEdGraphPinReference&). | MuCOE/Nodes/CustomizableObjectNode.h | |
virtual FString GetRefreshMessage() |
MuCOE/Nodes/CustomizableObjectNode.h | ||
FString GetTagDisplayName
(
const FString& Tag |
Return a UI-ready text to represent the given tag. | MuCOE/Nodes/CustomizableObjectNode.h | |
virtual bool HasPinViewer() |
MuCOE/Nodes/CustomizableObjectNode.h | ||
virtual bool IsAffectedByLOD() |
Used during compilation process to cache the node for all LODs, or generate it specifically for each of them. | MuCOE/Nodes/CustomizableObjectNode.h | |
virtual bool IsExperimental() |
Return true to mark this node as experimental. | MuCOE/Nodes/CustomizableObjectNode.h | |
bool IsInMacro() |
Returns true if this node is inside a Macro Graph | MuCOE/Nodes/CustomizableObjectNode.h | |
virtual bool IsNodeOutDatedAndNeedsRefresh() |
MuCOE/Nodes/CustomizableObjectNode.h | ||
virtual bool IsNodeSupportedInMacros() |
Returs true if this node can be added to a COMacro Graph | MuCOE/Nodes/CustomizableObjectNode.h | |
virtual bool IsPinRelevant
(
const UEdGraphPin* |
MuCOE/Nodes/CustomizableObjectNode.h | ||
virtual bool IsSingleOutputNode() |
If returns true, only a single link can go out of every output pin. False by default. | MuCOE/Nodes/CustomizableObjectNode.h | |
virtual void PostBackwardsCompatibleFixup () |
Add post load work here. | MuCOE/Nodes/CustomizableObjectNode.h | |
virtual bool ProvidesCustomPinRelevancyTest() |
MuCOE/Nodes/CustomizableObjectNode.h | ||
virtual void ReconstructNode
(
UCustomizableObjectNodeRemapPins* RemapPinsMode |
Specialization of ReconstructNode UEdGraphNode function. | MuCOE/Nodes/CustomizableObjectNode.h | |
void RemoveWarnings() |
MuCOE/Nodes/CustomizableObjectNode.h | ||
virtual void ResetAttachedErrorData() |
MuCOE/Nodes/CustomizableObjectNode.h | ||
void SetPinHidden
(
UEdGraphPin& Pin, |
Set a pin to be hidden or not. | MuCOE/Nodes/CustomizableObjectNode.h | |
void SetPinHidden
(
const TArray< UEdGraphPin* >& Pins, |
Set an array of pins to be hidden or not. | MuCOE/Nodes/CustomizableObjectNode.h | |
void SetRefreshNodeWarning() |
MuCOE/Nodes/CustomizableObjectNode.h | ||
virtual bool ShouldAddToContextMenu
(
FText& OutCategory |
Subclasses should override this to return true and set OutCategory if this node should be auto-added to the right-click context menu in the graph editor. | MuCOE/Nodes/CustomizableObjectNode.h | |
virtual bool ShouldBreakExistingConnections
(
const UEdGraphPin* InputPin, |
When creating a new connection, break all previous connections. This method can be overridden. | MuCOE/Nodes/CustomizableObjectNode.h | |
virtual void UpdateReferencedNodeId
(
const FGuid& NewGuid |
Used to replace Ids of referenced nodes by their new ids after duplicating the CustomizableObject. | MuCOE/Nodes/CustomizableObjectNode.h |
Overridden from UEdGraphNode
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void AllocateDefaultPins () |
Allocates the default pins using the empty remap pins action. Usually called from CreateNode. | MuCOE/Nodes/CustomizableObjectNode.h | |
virtual void AutowireNewNode
(
UEdGraphPin* FromPin |
MuCOE/Nodes/CustomizableObjectNode.h | ||
virtual TSharedPtr< SGraphNode > CreateVisualWidget() |
MuCOE/Nodes/CustomizableObjectNode.h | ||
virtual void DestroyNode() |
MuCOE/Nodes/CustomizableObjectNode.h | ||
virtual void NodeConnectionListChanged() |
MuCOE/Nodes/CustomizableObjectNode.h | ||
virtual void PinConnectionListChanged
(
UEdGraphPin* Pin |
MuCOE/Nodes/CustomizableObjectNode.h | ||
virtual void ReconstructNode () |
Reconstructs the node using its default remap pins action. | MuCOE/Nodes/CustomizableObjectNode.h |
Overridden from UObject
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void PostEditChangeProperty
(
FPropertyChangedEvent& PropertyChangedEvent |
MuCOE/Nodes/CustomizableObjectNode.h | ||
virtual void PostInitProperties() |
MuCOE/Nodes/CustomizableObjectNode.h | ||
virtual void PostLoad() |
MuCOE/Nodes/CustomizableObjectNode.h | ||
virtual void Serialize
(
FArchive& Ar |
MuCOE/Nodes/CustomizableObjectNode.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AddPinData
(
const UEdGraphPin& Pin, |
Attach data to a given pin. | MuCOE/Nodes/CustomizableObjectNode.h | |
virtual void AllocateDefaultPins
(
UCustomizableObjectNodeRemapPins* RemapPins |
Specialization of AllocateDefaultPins UEdGraphNode function. | MuCOE/Nodes/CustomizableObjectNode.h | |
virtual UCustomizableObjectNodeRemapPinsByName * CreateRemapPinsByName () |
Creates and returns a remap pins by name action. | MuCOE/Nodes/CustomizableObjectNode.h | |
virtual UCustomizableObjectNodeRemapPinsByPosition * CreateRemapPinsByPosition () |
Creates and returns a remap pins by position action. | MuCOE/Nodes/CustomizableObjectNode.h | |
virtual UCustomizableObjectNodeRemapPins * CreateRemapPinsDefault () |
Creates and returns the node default node remap pins action. | MuCOE/Nodes/CustomizableObjectNode.h | |
virtual void RemapPin
(
UEdGraphPin& NewPin, |
Allows to perform work when remapping a pin. | MuCOE/Nodes/CustomizableObjectNode.h | |
virtual void RemapPins
(
const TMap< UEdGraphPin*, UEdGraphPin* >& PinsToRemap |
Allows to perform work when remapping a pin. | MuCOE/Nodes/CustomizableObjectNode.h | |
virtual void RemapPinsData
(
const TMap< UEdGraphPin*, UEdGraphPin* >& PinsToRemap |
MuCOE/Nodes/CustomizableObjectNode.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static FGuid GetInternalTagNodeId
(
const FString& Tag |
Return a valid GUID if a tag represents an internal tag. | MuCOE/Nodes/CustomizableObjectNode.h | |
static bool IsInternalTag
(
const FString& Tag |
MuCOE/Nodes/CustomizableObjectNode.h |