USMGraphNode_Base¶
Module: SMSystemEditor
#include <SMGraphNode_Base.h>
Inherits from UEdGraphNode, ISMEditorGraphNodeInterface
Inherited by USMGraphNode_StateNodeBase, USMGraphNode_TransitionEdge
Description¶
The abstract base graph node for Logic Driver editor graph nodes. All states and transitions in the editor graph derive from this.
Public Types¶
| Name | |
|---|---|
| enum uint8 | ENodeReplicationEnableLevel |
Public Functions¶
| Name | |
|---|---|
| virtual void | Serialize(FArchive & Ar) override |
| virtual void | PostLoad() override |
| virtual | ~USMGraphNode_Base() override |
| virtual void | DestroyNode() override |
| virtual void | PrepareForCopying() override |
| virtual void | PostPasteNode() override |
| virtual void | PostEditUndo() override |
| virtual void | PostPlacedNewNode() override |
| virtual TSharedPtr< INameValidatorInterface > | MakeNameValidator() const override |
| virtual void | OnRenameNode(const FString & NewName) override |
| virtual UObject * | GetJumpTargetForDoubleClick() const override |
| virtual bool | CanJumpToDefinition() const override |
| virtual void | JumpToDefinition() const override |
| virtual bool | CanCreateUnderSpecifiedSchema(const UEdGraphSchema * Schema) const override |
| virtual void | ReconstructNode() override |
| virtual void | PostEditChangeProperty(FPropertyChangedEvent & PropertyChangedEvent) override |
| virtual void | PinConnectionListChanged(UEdGraphPin * Pin) override |
| virtual void | ValidateNodeDuringCompilation(FCompilerResultsLog & MessageLog) const override |
| virtual TScriptInterface< ISMEditorGraphPropertyNodeInterface > | GetEditorGraphProperty(FName PropertyName, const USMNodeInstance * NodeInstance, int32 ArrayIndex) const override |
| virtual TArray< TScriptInterface< ISMEditorGraphPropertyNodeInterface > > | GetEditorGraphPropertyAsArray(FName PropertyName, const USMNodeInstance * NodeInstance, int32 ArrayIndex) const override |
| virtual TArray< TScriptInterface< ISMEditorGraphPropertyNodeInterface > > | GetAllEditorGraphProperties(const USMNodeInstance * NodeInstance) const override |
| virtual TScriptInterface< ISMEditorGraphPropertyNodeInterface > | GetEditorGraphPropertyForSubPath(FName PropertyName, const FString & SubPath, const USMNodeInstance * NodeInstance, FName & OutSubPinName) const override |
| virtual USMNodeInstance * | AddStackNode(TSubclassOf< USMNodeInstance > NodeClass, int32 StackIndex) override |
| virtual void | RemoveStackNode(int32 StackIndex) override |
| virtual void | ClearStackNodes() override |
| virtual FString | GetNodeName() const override |
| virtual bool | SetNodeName(const FString & NewName, FText & OutErrorMessage) override |
| virtual void | ResetNodeName() override |
| virtual TScriptInterface< ISMEditorGraphNode_StateBaseInterface > | AsStateBaseInterface() override |
| virtual void | SetNodeName_Direct(const FString & InNewName) |
| virtual void | PreCompile(FSMKismetCompilerContext & CompilerContext) |
| virtual void | PreCompileNodeInstanceValidation(FCompilerResultsLog & CompilerContext, USMCompilerLog * CompilerLog, USMGraphNode_Base * OwningNode =nullptr) |
| virtual void | OnCompile(FSMKismetCompilerContext & CompilerContext) |
| virtual void | OnBoundGraphRenamed(UObject * OldOuter, const FName OldName) |
| virtual void | ResetDebugState() |
| virtual void | OnWidgetConstruct() |
| virtual void | UpdateTime(float DeltaTime) |
| virtual void | CheckSetErrorMessages() |
| virtual void | ResetLogMessages() |
| virtual void | OnNodeSelectionChanged(bool bSelected, TOptional< bool > bHovered =TOptional< bool >()) |
| void | UpdateErrorMessageFromLogs() |
| void | AddNodeLogMessage(const FSMGraphNodeLog & Message) |
| bool | TryGetNodeLogMessage(FString & OutMessage, int32 & OutSeverity) const |
| virtual void | OnNodeMoved(const FVector2f & NewPosition, bool bMarkDirty) |
| void | SetReadOnlyNodePosition() |
| virtual void | GoToLocalGraph() const |
| virtual bool | CanGoToLocalGraph() const |
| virtual TArray< TSubclassOf< USMGraphNode_Base > > | GetAllowedDuplicateNodeNameTypes() const |
| virtual const FGuid & | GetCorrectNodeGuid(bool * bIsRunTimeGuid =nullptr) const |
| const FGuid & | GetRuntimeNodeGuidChecked() const |
| virtual void | InitTemplate() |
| virtual void | DestroyTemplate() |
| void | RunAllConstructionScripts() |
| virtual bool | CanRunConstructionScripts() const |
| virtual bool | DoesNodePossiblyHaveConstructionScripts() const |
| bool | IsRunningConstructionScripts() const |
| virtual FName | GetNodeClassPropertyName() const |
| virtual UClass * | GetNodeClass() const |
| virtual void | SetNodeClass(UClass * Class) |
| UClass * | GetDefaultNodeClass() const |
| bool | IsUsingDefaultNodeClass() const |
| bool | IsNodeClassNative() const |
| virtual bool | IsNodeFastPathEnabled() const |
| ENodeReplicationEnableLevel | GetNodeReplicationEnableLevel() const |
| virtual FName | GetNodeTemplatePropertyName() |
| virtual FName | GetNodeStackPropertyName() |
| virtual FName | GetNodeStackElementClassPropertyName() const |
| USMNodeInstance * | GetNodeTemplate() const |
| USMNodeInstance * | GetNodeTemplateFromGuid(const FGuid & Guid) const |
| virtual bool | AreTemplatesFullyLoaded() const |
| virtual int32 | GetIndexOfTemplate(const FGuid & Guid) const |
| virtual USMNodeInstance * | GetTemplateFromIndex(int32 Index) const |
| virtual void | GetAllNodeTemplates(TArray< USMNodeInstance * > & OutNodeInstances) const |
| template \<typename T >T * | GetNodeTemplateAs(bool bCheck =false) const |
| USMGraph * | GetOwningStateMachineGraph() const |
| UEdGraph * | GetBoundGraph() const |
| void | ClearBoundGraph() |
| void | CreateGraphPropertyGraphs(bool bGenerateNewGuids =false) |
| bool | CreateGraphPropertyGraphsForTemplate(USMNodeInstance * Template, bool bGenerateNewGuids, TSet< FGuid > & LiveGuidsInOut, bool bResetNonVariableGuids =false) |
| void | RemoveGraphPropertyGraphsForTemplate(USMNodeInstance * Template) |
| USMPropertyGraph * | GetGraphPropertyGraph(const FGuid & Guid) const |
| USMGraphK2Node_PropertyNode_Base * | GetGraphPropertyNode(const FGuid & Guid) const |
| USMGraphK2Node_PropertyNode_Base * | FindGraphPropertyNodeRecursive(const FGuid & Guid) const |
| USMGraphK2Node_PropertyNode_Base * | GetGraphPropertyNode(const FName & VariableName, const USMNodeInstance * TemplateMatch =nullptr, int32 Index =INDEX_NONE) const |
| USMGraphK2Node_PropertyNode_Base * | GetGraphPropertyNode(const FName & VariableName, const TOptional< FGuid > & InTemplateGuid, int32 Index =INDEX_NONE) const |
| TArray< USMGraphK2Node_PropertyNode_Base * > | GetGraphPropertyNodes(const FName & VariableName, const USMNodeInstance * TemplateMatch =nullptr, int32 Index =INDEX_NONE) const |
| TArray< USMGraphK2Node_PropertyNode_Base * > | GetGraphPropertyNodes(const FName & VariableName, const TOptional< FGuid > & InTemplateGuid, int32 Index =INDEX_NONE) const |
| bool | ResolvePropertyForSubPath(FName VariableName, const FString & SubPath, const USMNodeInstance * NodeInstance, FSMSubPropertyResolveResult & OutResult, FString * OutError =nullptr) const |
| const TMap< FGuid, TObjectPtr< USMPropertyGraph > > & | GetAllPropertyGraphs() const |
| const TMap< FGuid, TObjectPtr< USMGraphK2Node_PropertyNode_Base > > & | GetAllPropertyGraphNodes() const |
| TArray< USMGraphK2Node_PropertyNode_Base * > | GetAllPropertyGraphNodesAsArray(const USMNodeInstance * TemplateMatch =nullptr) const |
| void | InitPropertyGraphNodes(USMPropertyGraph * PropertyGraph, FSMGraphProperty_Base * Property) |
| void | RefreshAllProperties(bool bModify, bool bSetFromPinFirst =true) |
| void | RefreshPropertyByGuid(const FGuid & Guid, bool bModify, bool bSetFromPinFirst =true) |
| void | ForceRecreateProperties() |
| bool | IsStructHeaderCollapsed(const FString & HeaderKey) const |
| void | SetStructHeaderCollapsed(const FString & HeaderKey, bool bCollapsed) |
| void | AddNestedSplitSubPin(const FGuid & PropertyGuid, FName SubPinName) |
| void | RemoveNestedSplitSubPin(const FGuid & PropertyGuid, FName SubPinName) |
| void | RemoveNestedSplitSubPinsUnder(const FGuid & PropertyGuid, FName SubPinNamePrefix) |
| const TSet< FName > * | GetNestedSplitSubPins(const FGuid & PropertyGuid) const |
| void | MigrateStaleNestedSplitNames(const FGuid & PropertyGuid, UEdGraphPin * InRootPin) |
| void | RemoveStructHeadersForSubPinSubtree(const FGuid & PropertyGuid, TConstArrayView< FGuid > SubPinPath) |
| bool | AddArrayElement(FName PropertyName, USMNodeInstance * InTemplate =nullptr) |
| bool | InsertArrayElement(FName PropertyName, int32 Index, USMNodeInstance * InTemplate =nullptr) |
| bool | DuplicateArrayElement(FName PropertyName, int32 Index, USMNodeInstance * InTemplate =nullptr) |
| bool | RemoveArrayElement(FName PropertyName, int32 Index, USMNodeInstance * InTemplate =nullptr) |
| bool | ClearArray(FName PropertyName, USMNodeInstance * InTemplate =nullptr) |
| bool | MoveArrayElement(FName PropertyName, int32 FromIndex, int32 ToIndex, USMNodeInstance * InTemplate =nullptr) |
| bool | CanModifyArraySize(FName PropertyName, USMNodeInstance * InTemplate =nullptr) const |
| bool | CanModifyArrayContents(FName PropertyName, USMNodeInstance * InTemplate =nullptr) const |
| void | SetGraphPropertyDefaultsFromPins() |
| void | SetPinsFromGraphProperties(bool bUseArchetype) |
| USMGraphK2Node_PropertyNode_Base * | GetPropertyNodeUnderMouse() const |
| FSMPropertyInteractionTarget | GetPropertyTargetUnderMouse() const |
| virtual bool | SupportsPropertyGraphs() const |
| virtual UEdGraphPin * | GetInputPin() const |
| virtual UEdGraphPin * | GetOutputPin() const |
| UEdGraphNode * | GetOutputNode() const |
| void | GetAllOutputNodes(TArray< UEdGraphNode * > & OutNodes) const |
| template \<typename T >void | GetAllOutputNodesAs(TArray< T * > & OutNodes) const |
| virtual FLinearColor | GetBackgroundColor() const |
| virtual FLinearColor | GetActiveBackgroundColor() const |
| virtual const FSlateBrush * | GetNodeIcon() const |
| virtual bool | CanExistAtRuntime() const |
| bool | CanPlaceBreakpoints() const |
| FBlueprintBreakpoint * | GetBreakpoint() const |
| void | CreateBreakpoint(bool bEnabled =true) |
| void | CreateBreakpointForSingleStep() |
| bool | HasTemporaryBreakpoint() const |
| void | RemoveBreakpoint() |
| void | SetBreakpointEnabled(bool bEnabled) |
| FSMNode_Base * | FindRuntimeNode() const |
| FSMNode_Base * | GetDebugNode() const |
| float | GetDebugTime() const |
| virtual float | GetMaxDebugTime() const |
| virtual bool | IsDebugNodeActive() const |
| virtual bool | WasDebugNodeActive() const |
| virtual FName | GetFriendlyNodeName() const |
| bool | ConvertToCurrentVersion(bool bOnlyOnLoad =true) |
| bool | SetToCurrentVersion() |
| void | ForceSetVersion(int32 NewVersion) |
| virtual void | ImportDeprecatedProperties() |
| bool | IsBeingPasted() const |
| bool | IsPreCompiling() const |
| bool | IsEditUndo() const |
| void | RequestSlateRefresh(bool bFullRefresh =false) |
| virtual void | ResetCachedValues() |
| void | RecordDuplicatedNodeGuid(const FGuid & InGuid) |
| void | NotifySwapPropertyGraphArrayElements(const FName & InPropertyName, int32 FromIndex, int32 ToIndex, USMNodeInstance * InNodeInstance) |
| void | RunPreCompileValidateForNodeInstance(const USMNodeInstance * InNodeInstance, USMCompilerLog * InCompilerLog) |
| FString | MakeStructHeaderKey(const FGuid & PropertyGuid, TConstArrayView< FGuid > SubPinIdPath ={}) |
Protected Functions¶
| Name | |
|---|---|
| void | DestroyAllPropertyGraphs() |
| virtual void | PlaceDefaultInstanceNodes() |
| virtual void | RunAllConstructionScripts_Internal() |
| virtual void | RestoreArchetypeValuesPriorToConstruction() |
| bool | HasEditConditionVariables() const |
| void | ApplyEditConditionOverrides() |
| bool | IsSafeToConditionallyCompile(EPropertyChangeType::Type ChangeType) const |
| virtual void | OnConvertToCurrentVersion(bool bOnlyOnLoad) |
| virtual FLinearColor | Internal_GetBackgroundColor() const |
| const FLinearColor * | GetCustomBackgroundColor(const USMNodeInstance * NodeInstance =nullptr) const |
| void | RemovePropertyGraph(USMPropertyGraph * PropertyGraph, bool RemoveFromMaps) |
| void | HandlePropertyGraphArrayRemoval(TArray< FSMGraphProperty_Base * > & GraphProperties, TArray< TSharedPtr< FSMGraphProperty > > & TempGraphProperties, FProperty * TargetProperty, int32 RemovalIndex, int32 ArraySize, const FSMGraphProperty * OverrideGraphProperty, USMNodeInstance * Template) |
| void | HandlePropertyGraphArrayInsertion(TArray< FSMGraphProperty_Base * > & GraphProperties, TArray< TSharedPtr< FSMGraphProperty > > & TempGraphProperties, FProperty * TargetProperty, int32 InsertionIndex, int32 ArraySize, const FSMGraphProperty * OverrideGraphProperty, USMNodeInstance * Template, bool bDuplicate =false) |
| void | HandlePropertyGraphArraySwap(TArray< FSMGraphProperty_Base * > & GraphProperties, int32 FromIndex, int32 ToIndex, USMNodeInstance * Template) |
| void | HandleOnPropertyChangedEvent(UObject * InObject, FPropertyChangedEvent & InPropertyChangedEvent) |
| int32 | GetLoadedVersion() const |
Public Attributes¶
| Name | |
|---|---|
| bool | bGenerateTemplateOnNodePlacement |
| uint32 | bRequiresGuidRegeneration |
| uint32 | bNeedsStateStackConversion |
| uint32 | bTEST_ForceNoTemplateGuid |
| TMap< FString, bool > | PropertyCategoriesExpanded |
| TSet< FGuid > | SplitPropertyGuids |
| TSet< FString > | CollapsedStructHeaders |
| TMap< FGuid, FSMNestedSplitPaths > | NestedSplitPaths |
Protected Attributes¶
| Name | |
|---|---|
| bool | bPostEditChangeConstructionRequiresFullRefresh |
| TArray< FSMGraphNodeLog > | CollectedLogs |
| TObjectPtr< UEdGraph > | BoundGraph |
| FVector2D | NodePosition |
| TObjectPtr< USMNodeInstance > | NodeInstanceTemplate |
| TMap< FGuid, TObjectPtr< USMPropertyGraph > > | GraphPropertyGraphs |
| TMap< FGuid, TObjectPtr< USMGraphK2Node_PropertyNode_Base > > | GraphPropertyNodes |
| TMap< FGuid, TObjectPtr< USMNodeInstance > > | GraphPropertyTemplates |
| TSet< FGuid > | DuplicatedNodeGuids |
| TSharedPtr< FSlateBrush > | CachedBrush |
| FString | CachedTexture |
| FVector2D | CachedTextureSize |
| FLinearColor | CachedNodeTintColor |
| float | DebugTotalTime |
| float | MaxTimeToShowDebug |
| uint32 | bIsDebugActive |
| uint32 | bWasDebugActive |
| uint32 | bIsPreCompiling |
| uint32 | bJustPasted |
| uint32 | bIsEditUndo |
| uint32 | bCreatePropertyGraphsOnPropertyChange |
| uint32 | bCreatePropertyGraphsSilently |
| uint32 | bChangeFromRedirect |
Friends¶
| Name | |
|---|---|
| class | SGraphNode_BaseNode |
| class | FSMPropertyDisplaySpec |
Public Types Documentation¶
enum ENodeReplicationEnableLevel¶
| Enumerator | Value | Description |
|---|---|---|
| Disabled | Not enabled anywhere. | |
| EnabledNodeDisabledSystem | Enabled on the node, but disabled for the owning blueprint. | |
| EnabledNodeAndSystem | Fully enabled on the node and for the owning blueprint. |
Public Functions Documentation¶
function Serialize¶
function PostLoad¶
function ~USMGraphNode_Base¶
function DestroyNode¶
Reimplemented by: USMGraphNode_LinkStateNode::DestroyNode, USMGraphNode_StateNode::DestroyNode, USMGraphNode_StateNodeBase::DestroyNode
function PrepareForCopying¶
function PostPasteNode¶
Reimplemented by: USMGraphNode_AnyStateNode::PostPasteNode, USMGraphNode_LinkStateNode::PostPasteNode, USMGraphNode_RerouteNode::PostPasteNode, USMGraphNode_StateMachineEntryNode::PostPasteNode, USMGraphNode_StateNodeBase::PostPasteNode
function PostEditUndo¶
function PostPlacedNewNode¶
Reimplemented by: USMGraphNode_AnyStateNode::PostPlacedNewNode, USMGraphNode_LinkStateNode::PostPlacedNewNode, USMGraphNode_RerouteNode::PostPlacedNewNode, USMGraphNode_StateMachineEntryNode::PostPlacedNewNode, USMGraphNode_StateNodeBase::PostPlacedNewNode
function MakeNameValidator¶
function OnRenameNode¶
Reimplemented by: USMGraphNode_AnyStateNode::OnRenameNode, USMGraphNode_LinkStateNode::OnRenameNode, USMGraphNode_RerouteNode::OnRenameNode, USMGraphNode_StateNodeBase::OnRenameNode
function GetJumpTargetForDoubleClick¶
Reimplemented by: USMGraphNode_LinkStateNode::GetJumpTargetForDoubleClick, USMGraphNode_RerouteNode::GetJumpTargetForDoubleClick, USMGraphNode_StateNode::GetJumpTargetForDoubleClick
function CanJumpToDefinition¶
function JumpToDefinition¶
function CanCreateUnderSpecifiedSchema¶
function ReconstructNode¶
function PostEditChangeProperty¶
Reimplemented by: USMGraphNode_AnyStateNode::PostEditChangeProperty, USMGraphNode_LinkStateNode::PostEditChangeProperty, USMGraphNode_StateMachineEntryNode::PostEditChangeProperty, USMGraphNode_StateNode::PostEditChangeProperty
function PinConnectionListChanged¶
Reimplemented by: USMGraphNode_StateNodeBase::PinConnectionListChanged
function ValidateNodeDuringCompilation¶
function GetEditorGraphProperty¶
virtual TScriptInterface< ISMEditorGraphPropertyNodeInterface > GetEditorGraphProperty(
FName PropertyName,
const USMNodeInstance * NodeInstance,
int32 ArrayIndex
) const override
Retrieve an exposed graph property from the node.
Parameters:
PropertyName- The name of the public property on the node.
NodeInstance- The node instance template containing the property. Generally 'this' when called from a node class. Blueprint usage will default this to the self context.
ArrayIndex- The index of the element if the property is an array.
Return: A single editor graph property. If this is an array this will be a single element in the array.
Reimplements: ISMEditorGraphNodeInterface::GetEditorGraphProperty
function GetEditorGraphPropertyAsArray¶
virtual TArray< TScriptInterface< ISMEditorGraphPropertyNodeInterface > > GetEditorGraphPropertyAsArray(
FName PropertyName,
const USMNodeInstance * NodeInstance,
int32 ArrayIndex
) const override
Retrieve an exposed graph property as an array. This can allow all elements in an array to be returned.
Parameters:
PropertyName- The name of the public property on the node.
NodeInstance- The node instance template containing the property. Generally 'this' when called from a node class. Blueprint usage will default this to the self context.
ArrayIndex- The index of the element if the property is an array. If INDEX_NONE (-1) then all elements in the array are returned.
Return: An array of editor graph properties. This is typically a single property unless the exposed property is an array and ArrayIndex is -1.
Reimplements: ISMEditorGraphNodeInterface::GetEditorGraphPropertyAsArray
function GetAllEditorGraphProperties¶
virtual TArray< TScriptInterface< ISMEditorGraphPropertyNodeInterface > > GetAllEditorGraphProperties(
const USMNodeInstance * NodeInstance
) const override
Retrieve every graph property on the node for a node instance.
Parameters:
NodeInstance- The node instance template contained in this graph node to retrieve properties from. When null all node instances on the node are searched. Blueprint usage will default this to the self context. If you need to retrieve all stack instance variables in blueprints then either iterate each stack or promote this to a local empty variable.
Return: An array of all editor graph properties.
Reimplements: ISMEditorGraphNodeInterface::GetAllEditorGraphProperties
function GetEditorGraphPropertyForSubPath¶
virtual TScriptInterface< ISMEditorGraphPropertyNodeInterface > GetEditorGraphPropertyForSubPath(
FName PropertyName,
const FString & SubPath,
const USMNodeInstance * NodeInstance,
FName & OutSubPinName
) const override
Resolve a graph property addressed by a sub-path. Unlike GetEditorGraphProperty this reaches split-struct members and elements of nested arrays. Highlight the result with ISMEditorGraphPropertyNodeInterface::SetSubPropertyHighlight using OutSubPinName.
Parameters:
PropertyName- The name of the public property on the node.
SubPath- The path beneath PropertyName to the target sub-property:
MemberA.MemberB[i].MemberC[j]. Empty resolves PropertyName itself. For a top-level array property lead with a bracket, e.g.[2]. NodeInstance- The node instance template containing the property. Generally 'this' when called from a node class. Blueprint usage will default this to the self context.
OutSubPinName- Receives the sub-pin name of the leaf when it is a split-struct member, or NAME_None when the leaf is the whole property or an array element (a distinct property node).
Return: The property owning the resolved leaf, or an invalid interface when the path does not resolve.
Reimplements: ISMEditorGraphNodeInterface::GetEditorGraphPropertyForSubPath
function AddStackNode¶
inline virtual USMNodeInstance * AddStackNode(
TSubclassOf< USMNodeInstance > NodeClass,
int32 StackIndex
) override
Add a stack node to the graph node if applicable. Currently only supports state stacks.
Parameters:
NodeClass- The node class to be created.
StackIndex- The index to insert the node stack. Leave at -1 to place at the end.
Return: The stack instance created.
Note:
Instead of calling directly use the USMStateInstance methods to manipulate the state stack during construction.
Reimplements: ISMEditorGraphNodeInterface::AddStackNode
Reimplemented by: USMGraphNode_StateNode::AddStackNode
function RemoveStackNode¶
Remove a stack node by index. Currently only supports state stacks.
Parameters:
StackIndex- The index to remove. Leave at -1 to remove from the end.
Note:
Instead of calling directly use the USMStateInstance methods to manipulate the state stack during construction.
Reimplements: ISMEditorGraphNodeInterface::RemoveStackNode
Reimplemented by: USMGraphNode_StateNode::RemoveStackNode
function ClearStackNodes¶
Remove all nodes from the stack. Currently only supports state stacks.
Note:
Instead of calling directly use the USMStateInstance methods to manipulate the state stack during construction.
Reimplements: ISMEditorGraphNodeInterface::ClearStackNodes
Reimplemented by: USMGraphNode_StateNode::ClearStackNodes
function GetNodeName¶
Retrieve the node name assigned in the editor. This is generally the graph name contained in the node and what is assigned to the run-time variation of the node.
Return: The node name used in the editor.
Note:
This isn't guaranteed to be the same result that USMNodeInstance::GetNodeName() returns since this method can be called before the run-time node is created. Additionally some names may later be adjusted by the compiler.
Reimplements: ISMEditorGraphNodeInterface::GetNodeName
Reimplemented by: USMGraphNode_AnyStateNode::GetNodeName, USMGraphNode_RerouteNode::GetNodeName
function SetNodeName¶
Final implementation of interface function which performs validation. Child classes should override SetNodeName_Direct() or MakeNameValidator() if needed.
Reimplements: ISMEditorGraphNodeInterface::SetNodeName
function ResetNodeName¶
Reset a node name back to its default.
Reimplements: ISMEditorGraphNodeInterface::ResetNodeName
Reimplemented by: USMGraphNode_StateNodeBase::ResetNodeName
function AsStateBaseInterface¶
Attempt to cast this to the ISMEditorGraphNode_StateBaseInterface which contains functions available to all base state type (USMGraphNode_StateNodeBase) graph nodes.
Return: Return the State Base Interface. Retrieve the underlying UObject to test validity.
Reimplements: ISMEditorGraphNodeInterface::AsStateBaseInterface
function SetNodeName_Direct¶
Set the name of the node without performing sanitization or validation, typically renaming the graph. Instead of calling this method SetNodeName() should be used instead.
Reimplemented by: USMGraphNode_AnyStateNode::SetNodeName_Direct
function PreCompile¶
Called during kismet pre-compile before the bound graph is copied to the consolidated event graph.
Reimplemented by: USMGraphNode_LinkStateNode::PreCompile, USMGraphNode_RerouteNode::PreCompile, USMGraphNode_StateNodeBase::PreCompile
function PreCompileNodeInstanceValidation¶
virtual void PreCompileNodeInstanceValidation(
FCompilerResultsLog & CompilerContext,
USMCompilerLog * CompilerLog,
USMGraphNode_Base * OwningNode =nullptr
)
Called during kismet pre-compile specifically for node instances to run custom validation.
Reimplemented by: USMGraphNode_StateNode::PreCompileNodeInstanceValidation
function OnCompile¶
Called during kismet compile after this node has been cloned.
Reimplemented by: USMGraphNode_StateNode::OnCompile
function OnBoundGraphRenamed¶
Called after the bound graph has been renamed.
Reimplemented by: USMGraphNode_StateNodeBase::OnBoundGraphRenamed
function ResetDebugState¶
Resets the local and node debug state if valid.
function OnWidgetConstruct¶
Called from the slate node when it is constructed.
function UpdateTime¶
So we can pass time ticks for specific node appearance behavior.
Reimplemented by: USMGraphNode_RerouteNode::UpdateTime
function CheckSetErrorMessages¶
Helper to set error messages that may happen before compile.
function ResetLogMessages¶
Resets collected logs.
function OnNodeSelectionChanged¶
inline virtual void OnNodeSelectionChanged(
bool bSelected,
TOptional< bool > bHovered =TOptional< bool >()
)
When the user selects or deselects this node in the blueprint editor.
Parameters:
bSelected- If the node is selected in the bp editor.
bHovered- [Optional] If the node is considered hovered or not.
Reimplemented by: USMGraphNode_StateNodeBase::OnNodeSelectionChanged
function UpdateErrorMessageFromLogs¶
Calculate any error / info display.
function AddNodeLogMessage¶
Adds a log message to the collected logs.
function TryGetNodeLogMessage¶
Combine all logs into a single message and retrieve the severity. Returns false if no messages exist.
function OnNodeMoved¶
Called by slate when the node is moved.
Reimplemented by: USMGraphNode_StateNodeBase::OnNodeMoved
function SetReadOnlyNodePosition¶
Sets the read only position to the current node position.
function GoToLocalGraph¶
Jump to the local graph.
function CanGoToLocalGraph¶
If this node is allowed to go to its local graph.
Reimplemented by: USMGraphNode_RerouteNode::CanGoToLocalGraph
function GetAllowedDuplicateNodeNameTypes¶
Return any types that this node can have duplicated node names with. An empty array means duplicate names are not allowed at all.
Reimplemented by: USMGraphNode_RerouteNode::GetAllowedDuplicateNodeNameTypes
function GetCorrectNodeGuid¶
Return the correct guid, either from a runtime node or the graph node guid.
function GetRuntimeNodeGuidChecked¶
Return the runtime node guid only.
function InitTemplate¶
Instantiate a template for use as an archetype.
Reimplemented by: USMGraphNode_StateNode::InitTemplate
function DestroyTemplate¶
Transfer the template to the transient package.
function RunAllConstructionScripts¶
Runs all template construction scripts.
function CanRunConstructionScripts¶
If this node can ever run construction scrips.
Reimplemented by: USMGraphNode_StateMachineEntryNode::CanRunConstructionScripts
function DoesNodePossiblyHaveConstructionScripts¶
Check if this node might have construction scripts.
Reimplemented by: USMGraphNode_StateNode::DoesNodePossiblyHaveConstructionScripts
function IsRunningConstructionScripts¶
True only while construction scripts are running.
function GetNodeClassPropertyName¶
Return the correct node class property name for the node type.
Reimplemented by: USMGraphNode_StateNode::GetNodeClassPropertyName
function GetNodeClass¶
Return the correct node class. This should be a TSubClass property in child nodes.
Reimplemented by: USMGraphNode_AnyStateNode::GetNodeClass, USMGraphNode_RerouteNode::GetNodeClass, USMGraphNode_StateMachineEntryNode::GetNodeClass, USMGraphNode_StateNode::GetNodeClass
function SetNodeClass¶
Reimplemented by: USMGraphNode_StateNode::SetNodeClass
function GetDefaultNodeClass¶
function IsUsingDefaultNodeClass¶
Checks if the node template is user created or system supplied. System supplied templates don't get stored on the CDO.
function IsNodeClassNative¶
Checks if the node class is native only.
function IsNodeFastPathEnabled¶
Checks if all execution points avoid blueprint graph calls.
function GetNodeReplicationEnableLevel¶
The level replication is enabled for this node in the current blueprint.
function GetNodeTemplatePropertyName¶
function GetNodeStackPropertyName¶
Reimplemented by: USMGraphNode_StateNode::GetNodeStackPropertyName
function GetNodeStackElementClassPropertyName¶
Reimplemented by: USMGraphNode_StateNode::GetNodeStackElementClassPropertyName
function GetNodeTemplate¶
function GetNodeTemplateFromGuid¶
function AreTemplatesFullyLoaded¶
Reimplemented by: USMGraphNode_StateNode::AreTemplatesFullyLoaded
function GetIndexOfTemplate¶
Reimplemented by: USMGraphNode_StateNode::GetIndexOfTemplate
function GetTemplateFromIndex¶
Return node template from index, if index is INDEX_NONE, return the primary node template.
Reimplemented by: USMGraphNode_StateNode::GetTemplateFromIndex
function GetAllNodeTemplates¶
Return every node template, starting with primary node template, followed by any stack items. All possible indices are filled so some items might be nullptr.
Reimplemented by: USMGraphNode_StateNode::GetAllNodeTemplates
function GetNodeTemplateAs¶
function GetOwningStateMachineGraph¶
The state machine graph this node is placed in.
function GetBoundGraph¶
The graph this node owns and represents.
function ClearBoundGraph¶
Sets the bound graph to nullptr.
function CreateGraphPropertyGraphs¶
Create graph properties for valid graph property structs or exposed properties on the node template.
Parameters:
bGenerateNewGuids- will either create new guids for struct properties or re-sync exposed properties. It will always re-sync the K2 property nodes with their containers.
function CreateGraphPropertyGraphsForTemplate¶
bool CreateGraphPropertyGraphsForTemplate(
USMNodeInstance * Template,
bool bGenerateNewGuids,
TSet< FGuid > & LiveGuidsInOut,
bool bResetNonVariableGuids =false
)
Create graph properties for a specific template.
Parameters:
Template- the template to create properties for.
bGenerateNewGuids- will either create new guids for struct properties or re-sync exposed properties.
LiveGuidsInOut- all active guids. Will not reset set.
bResetNonVariableGuids- resets the guid of pure graph properties by setting the template guid.
Return: true if there has been a change.
function RemoveGraphPropertyGraphsForTemplate¶
Destroy all property graphs associated with a template.
function GetGraphPropertyGraph¶
function GetGraphPropertyNode¶
function FindGraphPropertyNodeRecursive¶
Resolve a property node by guid. Descends into child property graph buckets so guids inside split-struct sub-pin graphs (array elements, nested text graphs) resolve.
function GetGraphPropertyNode¶
USMGraphK2Node_PropertyNode_Base * GetGraphPropertyNode(
const FName & VariableName,
const USMNodeInstance * TemplateMatch =nullptr,
int32 Index =INDEX_NONE
) const
Search for a property node by variable name.
Parameters:
VariableName- the name of the variable.
TemplateMatch- a template who's guid will be checked against property template guid.
Index- the index to look for if this is an array property.
function GetGraphPropertyNode¶
USMGraphK2Node_PropertyNode_Base * GetGraphPropertyNode(
const FName & VariableName,
const TOptional< FGuid > & InTemplateGuid,
int32 Index =INDEX_NONE
) const
function GetGraphPropertyNodes¶
TArray< USMGraphK2Node_PropertyNode_Base * > GetGraphPropertyNodes(
const FName & VariableName,
const USMNodeInstance * TemplateMatch =nullptr,
int32 Index =INDEX_NONE
) const
Search for a property node by variable name. Returns all results for the name which allows all elements of an array to be obtained.
Parameters:
VariableName- the name of the variable.
TemplateMatch- a template who's guid will be checked against property template guid.
Index- the index to look for if this is an array property.
function GetGraphPropertyNodes¶
TArray< USMGraphK2Node_PropertyNode_Base * > GetGraphPropertyNodes(
const FName & VariableName,
const TOptional< FGuid > & InTemplateGuid,
int32 Index =INDEX_NONE
) const
function ResolvePropertyForSubPath¶
bool ResolvePropertyForSubPath(
FName VariableName,
const FString & SubPath,
const USMNodeInstance * NodeInstance,
FSMSubPropertyResolveResult & OutResult,
FString * OutError =nullptr
) const
Resolve a property addressed by a sub-path down to its leaf property node and pin. Single source of truth for read-side resolution: the editor graph interface (GetEditorGraphPropertyForSubPath) and ISMGraphGeneration::FindPropertyGraph both route here. The write path, FSMGraphGeneration::SetNodePropertyValueAtSubPath, walks separately because it mutates array structure mid-traversal. Indexed segments descend through nested-array buckets (switching to each bucket's child graph); struct-member segments step through split sub-pins on the same node. Every struct parent in the path must be split.
Parameters:
VariableName- The top-level graph property variable name. Required.
SubPath- Path beneath VariableName:
MemberA.MemberB[i].MemberC[j]. Empty resolves the top property. A top-level array variable requires a leading bare[index]segment. NodeInstance- Specific node-instance template to inspect. When null the primary template is used.
OutResult- Populated on success; untouched on failure.
OutError- Optional; populated with an actionable message on failure and reset on success.
Return: True if the path resolved.
function GetAllPropertyGraphs¶
function GetAllPropertyGraphNodes¶
inline const TMap< FGuid, TObjectPtr< USMGraphK2Node_PropertyNode_Base > > & GetAllPropertyGraphNodes() const
function GetAllPropertyGraphNodesAsArray¶
TArray< USMGraphK2Node_PropertyNode_Base * > GetAllPropertyGraphNodesAsArray(
const USMNodeInstance * TemplateMatch =nullptr
) const
function InitPropertyGraphNodes¶
function RefreshAllProperties¶
function RefreshPropertyByGuid¶
Refresh a property graph by its Guid.
function ForceRecreateProperties¶
Creates property graphs and refreshes properties.
function IsStructHeaderCollapsed¶
True when the header at the given key is collapsed (present in CollapsedStructHeaders).
function SetStructHeaderCollapsed¶
Set or clear the cosmetic collapsed state for a header key. Persisted via SaveConfig; not transaction-tracked and intentionally not undoable.
function AddNestedSplitSubPin¶
Record that the sub-pin named SubPinName on the property PropertyGuid is split.
function RemoveNestedSplitSubPin¶
Forget the nested-split record for a specific sub-pin.
function RemoveNestedSplitSubPinsUnder¶
Drop SubPinNamePrefix and any deeper nested entry (name starts with "{Prefix}_") from the property's record. Mirrors the engine's recursive RecombinePin flattening.
function GetNestedSplitSubPins¶
Read-only lookup. Returns nullptr when there is no nested-split record for the property.
function MigrateStaleNestedSplitNames¶
Reconcile saved nested-split sub-pin names with the live sub-pin tree after a UDS field rename. Field renames change the sub-pin name prefix but keep the trailing 32-hex GUID stable, so stale entries are rematched by GUID suffix and rewritten in place. No-op for native struct members. Idempotent.
function RemoveStructHeadersForSubPinSubtree¶
void RemoveStructHeadersForSubPinSubtree(
const FGuid & PropertyGuid,
TConstArrayView< FGuid > SubPinPath
)
Drop CollapsedStructHeaders entries for a sub-pin subtree being recombined. Empty SubPinPath strips nested entries under the property but keeps the top-level key so the user's collapse preference for the property survives a recombine/re-split. Non-empty SubPinPath strips that sub-pin's own key plus deeper descendants, leaving siblings and ancestors untouched. Sub-pin IDs regenerate on reconstruction, so without this cleanup dead keys accumulate in config.
function AddArrayElement¶
Append a new default-constructed element to the exposed array property.
Parameters:
PropertyName- The name of the array property on the template.
InTemplate- The template that owns the array. When null, NodeInstanceTemplate is used.
Return: True if an element was added. False when the property is missing, non-array, EditFixedSize, or read-only.
function InsertArrayElement¶
Insert a default-constructed element at the given index. Elements at and above Index shift up by one.
Parameters:
PropertyName- The name of the array property on the template.
Index- The insertion index. Must be in [0, Num()].
InTemplate- The template that owns the array. When null, NodeInstanceTemplate is used.
Return: True if an element was inserted.
function DuplicateArrayElement¶
bool DuplicateArrayElement(
FName PropertyName,
int32 Index,
USMNodeInstance * InTemplate =nullptr
)
Insert a copy of the element at Index immediately after itself. Pin literals and wired property graphs on the duplicated element are preserved when possible.
Parameters:
PropertyName- The name of the array property on the template.
Index- The index to duplicate.
InTemplate- The template that owns the array. When null, NodeInstanceTemplate is used.
Return: True if the element was duplicated.
function RemoveArrayElement¶
Remove the element at the given index. Elements above Index shift down by one.
Parameters:
PropertyName- The name of the array property on the template.
Index- The index to remove.
InTemplate- The template that owns the array. When null, NodeInstanceTemplate is used.
Return: True if the element was removed.
function ClearArray¶
Remove all elements from the array.
Parameters:
PropertyName- The name of the array property on the template.
InTemplate- The template that owns the array. When null, NodeInstanceTemplate is used.
Return: True if the array was non-empty and is now empty.
function MoveArrayElement¶
bool MoveArrayElement(
FName PropertyName,
int32 FromIndex,
int32 ToIndex,
USMNodeInstance * InTemplate =nullptr
)
Swap two array elements, preserving element guids and wired property graphs. EditFixedSize arrays are permitted because only contents move, not size. Read-only arrays reject.
Parameters:
PropertyName- The name of the array property on the template.
FromIndex- The source index. Must be a valid element index.
ToIndex- The destination index. Must be a valid element index.
InTemplate- The template that owns the array. When null, NodeInstanceTemplate is used.
Return: True if the elements were swapped. False when indices are invalid, equal, or the array is read-only.
function CanModifyArraySize¶
True if the array's size can be changed (not EditFixedSize and not read-only).
function CanModifyArrayContents¶
True if the array's contents can be edited at all (not read-only).
function SetGraphPropertyDefaultsFromPins¶
Updates properties from pin inputs.
function SetPinsFromGraphProperties¶
Updates pin inputs from graph properties.
function GetPropertyNodeUnderMouse¶
Retrieve the property node currently under the mouse.
function GetPropertyTargetUnderMouse¶
Retrieve the property interaction target (property node plus optional split-struct sub-pin id) under the mouse. Property-node invalid = not over any property widget; sub-pin id invalid = over a main row.
function SupportsPropertyGraphs¶
If property graphs can be placed within this node.
Reimplemented by: USMGraphNode_StateNode::SupportsPropertyGraphs
function GetInputPin¶
function GetOutputPin¶
function GetOutputNode¶
Returns the first output node.
function GetAllOutputNodes¶
Returns all connected output nodes.
function GetAllOutputNodesAs¶
function GetBackgroundColor¶
The background color this node should be. Separate from slate so we can use one slate object to represent many different nodes.
function GetActiveBackgroundColor¶
The background color to use when this node is being debugged.
function GetNodeIcon¶
The icon image to use.
Reimplemented by: USMGraphNode_LinkStateNode::GetNodeIcon, USMGraphNode_RerouteNode::GetNodeIcon, USMGraphNode_StateNode::GetNodeIcon
function CanExistAtRuntime¶
If this is a node that gets compiled into the runtime blueprint.
Reimplemented by: USMGraphNode_AnyStateNode::CanExistAtRuntime, USMGraphNode_LinkStateNode::CanExistAtRuntime, USMGraphNode_RerouteNode::CanExistAtRuntime, USMGraphNode_StateMachineEntryNode::CanExistAtRuntime
function CanPlaceBreakpoints¶
If this node can place any breakpoints.
function GetBreakpoint¶
If this node currently has a breakpoint set.
function CreateBreakpoint¶
Create a breakpoint for this node if possible.
function CreateBreakpointForSingleStep¶
Creates a temporary breakpoint to be removed automatically.
function HasTemporaryBreakpoint¶
Checks if this node has a temporary break point for single-step.
function RemoveBreakpoint¶
Remove a breakpoint from this node.
function SetBreakpointEnabled¶
Set a breakpoint as enabled or disabled.
function FindRuntimeNode¶
Helper to locate the runtime node this node represents.
function GetDebugNode¶
Locates the current debug node if one exists.
function GetDebugTime¶
function GetMaxDebugTime¶
function IsDebugNodeActive¶
function WasDebugNodeActive¶
function GetFriendlyNodeName¶
Reimplemented by: USMGraphNode_AnyStateNode::GetFriendlyNodeName, USMGraphNode_LinkStateNode::GetFriendlyNodeName, USMGraphNode_RerouteNode::GetFriendlyNodeName, USMGraphNode_StateNode::GetFriendlyNodeName
function ConvertToCurrentVersion¶
Configure outdated versions. Currently called from the editor module on load and from pre-compile.
function SetToCurrentVersion¶
Sets the version field to the current version. No additional changes are made.
function ForceSetVersion¶
FOR TESTING: Force set to a specific version.
function ImportDeprecatedProperties¶
Brings in old values previously defined in the node and sets them on the template.
Reimplemented by: USMGraphNode_StateNodeBase::ImportDeprecatedProperties
function IsBeingPasted¶
If the node is being pasted in this frame.
function IsPreCompiling¶
If the node is pre-compiling for this frame.
function IsEditUndo¶
If the node is performing an edit undo / redo.
function RequestSlateRefresh¶
Request the corresponding slate widget refresh itself.
Parameters:
bFullRefresh- Completely redraw the widget.
function ResetCachedValues¶
Reset any cached values saved. Note this is for UI related caching and won't run by default without the editor.
Reimplemented by: USMGraphNode_AnyStateNode::ResetCachedValues, USMGraphNode_LinkStateNode::ResetCachedValues
function RecordDuplicatedNodeGuid¶
Called if this node is duplicated by the compiler.
function NotifySwapPropertyGraphArrayElements¶
void NotifySwapPropertyGraphArrayElements(
const FName & InPropertyName,
int32 FromIndex,
int32 ToIndex,
USMNodeInstance * InNodeInstance
)
Signal that array indices are being swapped. Requires property graphs recreated.
Deprecated:
Use MoveArrayElement() instead, which performs the array reorder and graph reshuffle in a single call.
function RunPreCompileValidateForNodeInstance¶
static void RunPreCompileValidateForNodeInstance(
const USMNodeInstance * InNodeInstance,
USMCompilerLog * InCompilerLog
)
Trigger the protected OnPreCompileValidate method for a node instance.
function MakeStructHeaderKey¶
static FString MakeStructHeaderKey(
const FGuid & PropertyGuid,
TConstArrayView< FGuid > SubPinIdPath ={}
)
Build the CollapsedStructHeaders key for a split-struct header. SubPinIdPath is empty for the root header, or the chain of sub-pin ids from the root for a nested header.
Protected Functions Documentation¶
function DestroyAllPropertyGraphs¶
Destroys all graph property graphs and empty all containers.
function PlaceDefaultInstanceNodes¶
Place default nodes when a class is selected.
Reimplemented by: USMGraphNode_StateNode::PlaceDefaultInstanceNodes
function RunAllConstructionScripts_Internal¶
Runs all template construction scripts core behavior.
Reimplemented by: USMGraphNode_StateNode::RunAllConstructionScripts_Internal
function RestoreArchetypeValuesPriorToConstruction¶
Restore specific construction scripts values.
Reimplemented by: USMGraphNode_StateNode::RestoreArchetypeValuesPriorToConstruction
function HasEditConditionVariables¶
True when the node's class exposes any variable carrying an EditCondition specifier.
function ApplyEditConditionOverrides¶
Evaluate each exposed property's EditCondition / EditConditionHides specifier against the template's current values and apply the derived read only / hidden overrides. Skips variables a construction script already set so the script wins per variable.
function IsSafeToConditionallyCompile¶
function OnConvertToCurrentVersion¶
Called at the end of ConvertToCurrentVersion before the version is set.
function Internal_GetBackgroundColor¶
Reimplemented by: USMGraphNode_AnyStateNode::Internal_GetBackgroundColor, USMGraphNode_LinkStateNode::Internal_GetBackgroundColor, USMGraphNode_RerouteNode::Internal_GetBackgroundColor, USMGraphNode_StateNodeBase::Internal_GetBackgroundColor
function GetCustomBackgroundColor¶
const FLinearColor * GetCustomBackgroundColor(
const USMNodeInstance * NodeInstance =nullptr
) const
Return the custom color from a specific node instance.
Parameters:
NodeInstance- If null then the default NodeInstanceTemplate will be used.
function RemovePropertyGraph¶
function HandlePropertyGraphArrayRemoval¶
void HandlePropertyGraphArrayRemoval(
TArray< FSMGraphProperty_Base * > & GraphProperties,
TArray< TSharedPtr< FSMGraphProperty > > & TempGraphProperties,
FProperty * TargetProperty,
int32 RemovalIndex,
int32 ArraySize,
const FSMGraphProperty * OverrideGraphProperty,
USMNodeInstance * Template
)
function HandlePropertyGraphArrayInsertion¶
void HandlePropertyGraphArrayInsertion(
TArray< FSMGraphProperty_Base * > & GraphProperties,
TArray< TSharedPtr< FSMGraphProperty > > & TempGraphProperties,
FProperty * TargetProperty,
int32 InsertionIndex,
int32 ArraySize,
const FSMGraphProperty * OverrideGraphProperty,
USMNodeInstance * Template,
bool bDuplicate =false
)
function HandlePropertyGraphArraySwap¶
void HandlePropertyGraphArraySwap(
TArray< FSMGraphProperty_Base * > & GraphProperties,
int32 FromIndex,
int32 ToIndex,
USMNodeInstance * Template
)
function HandleOnPropertyChangedEvent¶
void HandleOnPropertyChangedEvent(
UObject * InObject,
FPropertyChangedEvent & InPropertyChangedEvent
)
Called when a UObject property changes.
function GetLoadedVersion¶
Public Attributes Documentation¶
variable bGenerateTemplateOnNodePlacement¶
variable bRequiresGuidRegeneration¶
Member flag for forcing guid regeneration.
variable bNeedsStateStackConversion¶
True iff bRequiresGuidRegeneration and loaded version wrong.
variable bTEST_ForceNoTemplateGuid¶
Testing flag for forcing old guid generation WITHOUT template support.
variable PropertyCategoriesExpanded¶
Property category expansion state for slate node.
variable SplitPropertyGuids¶
Per-property split state for struct graph properties exposed on this node, keyed by the graph property's guid. Lives on the graph node rather than the template because template ExposedPropertyOverrides are reset to archetype on every construction script run.
variable CollapsedStructHeaders¶
Collapsed split-struct header keys. Presence == collapsed; absence == expanded (default after first split). Key format: "StructSplit_{PropertyGuid}[.{SubPinId}...]". Stored per-user via PerObjectConfig and kept out of the saved asset so cosmetic collapse preference doesn't pollute shared assets. Callers that mutate the set must invoke SaveConfig() to persist.
variable NestedSplitPaths¶
Per-property nested-split records, keyed by the top-level property's guid (same key space as SplitPropertyGuids). Consumed by RestoreNestedSplits to re-apply sub-pin splits after a rebuild. Empty SplitSubPinNames == no entry.
Protected Attributes Documentation¶
variable bPostEditChangeConstructionRequiresFullRefresh¶
variable CollectedLogs¶
variable BoundGraph¶
variable NodePosition¶
The node position on the graph. This is managed completely by the editor graph.
variable NodeInstanceTemplate¶
The instanced template to use as an archetype. This node name is used in EditorCustomization directly!
variable GraphPropertyGraphs¶
variable GraphPropertyNodes¶
variable GraphPropertyTemplates¶
The template each graph property points to. Generally the NodeInstanceTemplate but if a state uses the state stack it will vary.
variable DuplicatedNodeGuids¶
Node guids set by the compiler if this node is duplicated for run-time.
variable CachedBrush¶
variable CachedTexture¶
variable CachedTextureSize¶
variable CachedNodeTintColor¶
variable DebugTotalTime¶
Resets on active change.
variable MaxTimeToShowDebug¶
variable bIsDebugActive¶
variable bWasDebugActive¶
variable bIsPreCompiling¶
variable bJustPasted¶
variable bIsEditUndo¶
variable bCreatePropertyGraphsOnPropertyChange¶
Defaults to true and property graphs are reconstructed when a property changes on the node.
variable bCreatePropertyGraphsSilently¶
Do not modify.
variable bChangeFromRedirect¶
Redirect caused a post edit change, such as a force delete. Only valid by default during PostEditChangeProperty of this class.
Private Attributes Documentation¶
variable bIsRunningConstructionScripts¶
variable bFastPathEnabledCached¶
variable ReplicationEnableLevelCached¶
variable OnGraphNodeRefreshRequestedEvent¶
variable ArraySwapData¶
variable OnPropertyChangedHandle¶
variable bNativeGuidConversion¶
variable PendingChildBucketSnapshot¶
Populated by PrepareForCopying, drained by PostPasteNode. Not Transient so copy/paste serialization carries it.
variable LoadedVersion¶
The current loaded version. Once saved it should be the highest version available.
variable OnCacheClearedHandle¶
Handle for when UI related cache is cleared.