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 Functions¶
Name | |
---|---|
virtual void | Serialize(FArchive & Ar) override |
virtual void | PostLoad() override |
virtual | ~USMGraphNode_Base() override |
virtual void | DestroyNode() 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 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() |
void | UpdateErrorMessageFromLogs() |
void | AddNodeLogMessage(const FSMGraphNodeLog & Message) |
bool | TryGetNodeLogMessage(FString & OutMessage, int32 & OutSeverity) const |
virtual void | OnNodeMoved(const FVector2D & NewPosition) |
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 |
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 |
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) |
UEdGraph * | GetGraphPropertyGraph(const FGuid & Guid) const |
USMGraphK2Node_PropertyNode_Base * | GetGraphPropertyNode(const FGuid & Guid) const |
USMGraphK2Node_PropertyNode_Base * | GetGraphPropertyNode(const FName & VariableName, const USMNodeInstance * TemplateMatch =nullptr, int32 Index =INDEX_NONE) const |
TArray< USMGraphK2Node_PropertyNode_Base * > | GetGraphPropertyNodes(const FName & VariableName, const USMNodeInstance * TemplateMatch =nullptr, int32 Index =INDEX_NONE) const |
const TMap< FGuid, TObjectPtr< UEdGraph > > & | GetAllPropertyGraphs() const |
const TMap< FGuid, TObjectPtr< USMGraphK2Node_PropertyNode_Base > > & | GetAllPropertyGraphNodes() const |
TArray< USMGraphK2Node_PropertyNode_Base * > | GetAllPropertyGraphNodesAsArray(const USMNodeInstance * TemplateMatch =nullptr) const |
void | InitPropertyGraphNodes(UEdGraph * PropertyGraph, FSMGraphProperty_Base * Property) |
void | RefreshAllProperties(bool bModify, bool bSetFromPinFirst =true) |
void | RefreshPropertyByGuid(const FGuid & Guid, bool bModify, bool bSetFromPinFirst =true) |
void | ForceRecreateProperties() |
void | SetGraphPropertyDefaultsFromPins() |
void | SetPinsFromGraphProperties(bool bUseArchetype) |
USMGraphK2Node_PropertyNode_Base * | GetPropertyNodeUnderMouse() 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 |
FSMNode_Base * | FindRuntimeNode() const |
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 IndexA, int32 IndexB, USMNodeInstance * InNodeInstance) |
void | RunPreCompileValidateForNodeInstance(const USMNodeInstance * InNodeInstance, USMCompilerLog * InCompilerLog) |
Protected Functions¶
Name | |
---|---|
void | DestroyAllPropertyGraphs() |
virtual void | PlaceDefaultInstanceNodes() |
virtual void | RunAllConstructionScripts_Internal() |
virtual void | RestoreArchetypeValuesPriorToConstruction() |
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 IndexA, int32 IndexB, 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 |
Protected Attributes¶
Name | |
---|---|
bool | bPostEditChangeConstructionRequiresFullRefresh |
TArray< FSMGraphNodeLog > | CollectedLogs |
TObjectPtr< UEdGraph > | BoundGraph |
FVector2D | NodePosition |
TObjectPtr< USMNodeInstance > | NodeInstanceTemplate |
TMap< FGuid, TObjectPtr< UEdGraph > > | 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 |
Public Functions Documentation¶
function
Serialize¶
function
PostLoad¶
function
~USMGraphNode_Base¶
function
DestroyNode¶
Reimplemented by: USMGraphNode_LinkStateNode::DestroyNode, USMGraphNode_StateNode::DestroyNode, USMGraphNode_StateNodeBase::DestroyNode
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
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
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 it's 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
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
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¶
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
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
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
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
SetGraphPropertyDefaultsFromPins¶
Updates properties from pin inputs.
function
SetPinsFromGraphProperties¶
Updates pin inputs from graph properties.
function
GetPropertyNodeUnderMouse¶
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
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 IndexA,
int32 IndexB,
USMNodeInstance * InNodeInstance
)
Signal that array indices are being swapped. Requires property graphs recreated.
function
RunPreCompileValidateForNodeInstance¶
static void RunPreCompileValidateForNodeInstance(
const USMNodeInstance * InNodeInstance,
USMCompilerLog * InCompilerLog
)
Trigger the protected OnPreCompileValidate method for a node instance.
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
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 IndexA,
int32 IndexB,
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.
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
OnGraphNodeRefreshRequestedEvent¶
variable
ArraySwapData¶
variable
OnPropertyChangedHandle¶
variable
bNativeGuidConversion¶
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.