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 (MinimalAPI, 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 | ||
| PinEditableNameChangedDelegate | FPostEditablePinNameChangedDelegate | MuCOE/Nodes/CustomizableObjectNode.h | ||
| PostEditChangePropertyDelegate | FPostEditChangePropertyDelegate | 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 |
|---|---|---|---|
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, |
Wrapper of the pin creation method. | 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 | |
TSharedPtr< FCustomizableObjectGraphEditorToolkit > GetGraphEditor() |
MuCOE/Nodes/CustomizableObjectNode.h | ||
| Return the unique internal tag that can identify this node across all objects. | 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 | |
FString GetTagDisplayName
(
const FString& Tag |
Return a UI-ready text to represent the given tag. | MuCOE/Nodes/CustomizableObjectNode.h | |
bool IsInMacro() |
Returns true if this node is inside a Macro Graph | MuCOE/Nodes/CustomizableObjectNode.h | |
void RemoveWarnings() |
MuCOE/Nodes/CustomizableObjectNode.h | ||
void SetPinHidden
(
UEdGraphPin& InPin, |
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 |
Public Virtual
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void AddAttachedErrorData
(
const FAttachedErrorDataView& |
MuCOE/Nodes/CustomizableObjectNode.h | ||
virtual void AddPinFromUI () |
Will request the generation of a new pin and, if successful, will notify the graph of the change. | 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. | MuCOE/Nodes/CustomizableObjectNode.h | |
virtual bool CanPinBeRemoved
(
const UEdGraphPin& Pin |
Determines if a pin of this node can or can not be removed. | MuCOE/Nodes/CustomizableObjectNode.h | |
virtual bool CanRenamePin
(
const UEdGraphPin& Pin |
Determines if a pin can be renamed or not which determines if the pin will spawn with a TextBox slate at the side of the pin. | 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 | |
virtual EAddPinNodeButtonLocation GetAddPinButtonNodeSide() |
Determines to which side the "Add Pin" button should be added to | MuCOE/Nodes/CustomizableObjectNode.h | |
| Returns an array with all the PC_Types that can be created from the pin viewer. | MuCOE/Nodes/CustomizableObjectNode.h | ||
virtual EEditablePinNameBoxVisibilityPolicy GetEditablePinNameVisibilityPolicy
(
const UEdGraphPin& Pin |
Determines the policy to use when drawing the pin slate. | 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 | |
virtual FString GetInternalTagDisplayName () |
Return a non-unique, non-persistent UI-ready text to represent the interna tag of this node. | MuCOE/Nodes/CustomizableObjectNode.h | |
virtual TArray< FName > GetPinAllowedSubTypes
(
const UEdGraphPin& Pin |
MuCOE/Nodes/CustomizableObjectNode.h | ||
virtual TArray< FName > GetPinAllowedTypes
(
const UEdGraphPin& Pin |
Get the types the provided pin can changed to. | MuCOE/Nodes/CustomizableObjectNode.h | |
virtual FLinearColor GetPinColor
(
const UEdGraphPin& Pin |
MuCOE/Nodes/CustomizableObjectNode.h | ||
virtual FText GetPinEditableName
(
const UEdGraphPin& Pin |
MuCOE/Nodes/CustomizableObjectNode.h | ||
virtual FString GetRefreshMessage() |
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 | |
virtual bool IsLoaded() |
MuCOE/Nodes/CustomizableObjectNode.h | ||
virtual bool IsNodeOutDatedAndNeedsRefresh() |
MuCOE/Nodes/CustomizableObjectNode.h | ||
virtual bool IsNodeSupportedInMacros() |
Returns 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 | |
virtual void ResetAttachedErrorData() |
MuCOE/Nodes/CustomizableObjectNode.h | ||
virtual void SetPinEditableName
(
const UEdGraphPin& Pin, |
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 bool ShouldPinViewerShowPinEditableName
(
const UEdGraphPin& Pin |
Determines if the Pin Viewer is allowed to include the Pin Editable Name as part of the PinName string shown. | 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 bool GetCanRenameNode() |
MuCOE/Nodes/CustomizableObjectNode.h | ||
virtual bool IsCompatibleWithGraph
(
UEdGraph const* Graph |
MuCOE/Nodes/CustomizableObjectNode.h | ||
virtual bool IsDeprecated() |
Return true to mark this node as deprecated. Deprecated nodes emit a compile-time warning. | 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 |
Protected Virtual
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
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 |
|---|---|---|---|
| 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 |