USMGraphNode_StateMachineStateNode¶
Module: SMSystemEditor
Inherits from USMGraphNode_StateNodeBase, USMGraphNode_Base, ISMEditorGraphNode_StateBaseInterface, UEdGraphNode, ISMEditorGraphNodeInterface
Inherited by USMGraphNode_StateMachineParentNode
Public Functions¶
| Name | |
|---|---|
| virtual void | PostLoad() override |
| virtual void | PostPlacedNewNode() override |
| virtual void | PostPasteNode() override |
| virtual void | PostEditChangeProperty(FPropertyChangedEvent & PropertyChangedEvent) override |
| virtual void | PostEditUndo() override |
| virtual void | DestroyNode() override |
| virtual void | ValidateNodeDuringCompilation(FCompilerResultsLog & MessageLog) const override |
| virtual UObject * | GetJumpTargetForDoubleClick() const override |
| virtual void | JumpToDefinition() const override |
| virtual FSlateIcon | GetIconAndTint(FLinearColor & OutColor) const override |
| virtual void | PreCompile(FSMKismetCompilerContext & CompilerContext) override |
| virtual void | ImportDeprecatedProperties() override |
| virtual void | CheckSetErrorMessages() override |
| virtual FName | GetNodeClassPropertyName() const override |
| virtual UClass * | GetNodeClass() const override |
| virtual void | SetNodeClass(UClass * Class) override |
| virtual bool | SupportsPropertyGraphs() const override |
| virtual FName | GetFriendlyNodeName() const override |
| virtual const FSlateBrush * | GetNodeIcon() const override |
| virtual void | GoToLocalGraph() const override |
| virtual bool | CanGoToLocalGraph() const override |
| virtual bool | IsNodeFastPathEnabled() const override |
| virtual void | SetRuntimeDefaults(FSMState_Base & State) const override |
| USMGraph * | GetBoundStateMachineGraph() const |
| UObject * | GetReferenceToJumpTo() const |
| void | JumpToReference() const |
| void | SetDebugObjectForReference() const |
| virtual bool | ReferenceStateMachine(USMBlueprint * OtherStateMachine) |
| virtual void | InitStateMachineReferenceTemplate(bool bInitialLoad =false) |
| void | DestroyReferenceTemplate() |
| USMBlueprint * | GetStateMachineReference() const |
| USMInstance * | GetStateMachineReferenceTemplateDirect() const |
| void | SetUseIntermediateGraph(bool bValue) |
| virtual void | CreateBoundGraph() |
| virtual void | UpdateEditState() |
| bool | IsStateMachineReference() const |
| bool | IsBoundGraphInvalid() const |
| bool | NeedsIntermediateGraph() const |
| bool | HasIntermediateGraph() const |
| bool | IsUsingIntermediateGraph() const |
| bool | ShouldUseIntermediateGraph() const |
| bool | ShouldUseTemplate() const |
| bool | ShouldReuseCurrentState() const |
| bool | ShouldReuseIfNotEndState() const |
| bool | ShouldWaitForEndState() const |
| bool | IsSwitchingGraphTypes() const |
| FName | GetStateMachineReferencePropertyName() |
Protected Functions¶
| Name | |
|---|---|
| virtual void | OnConvertToCurrentVersion(bool bOnlyOnLoad) override |
| virtual FLinearColor | Internal_GetBackgroundColor() const override |
| virtual bool | HasLogicStates() const |
| void | ConfigureInitialReferenceTemplate() |
| void | SetNodeClassFromReferenceTemplate() |
Protected Attributes¶
| Name | |
|---|---|
| TObjectPtr< USMBlueprint > | ReferencedStateMachine |
| FString | DesiredNodeName |
| uint8 | bShouldUseIntermediateGraph |
| uint8 | bNeedsNewReference |
| uint8 | bSwitchingGraphTypes |
Additional inherited members¶
Public Functions inherited from USMGraphNode_StateNodeBase
| Name | |
|---|---|
| virtual void | AllocateDefaultPins() override |
| virtual FText | GetNodeTitle(ENodeTitleType::Type TitleType) const override |
| virtual bool | GetCanRenameNode() const override |
| virtual void | OnRenameNode(const FString & NewName) override |
| virtual void | AutowireNewNode(UEdGraphPin * FromPin) override |
| virtual void | PostEditChangeChainProperty(FPropertyChangedChainEvent & PropertyChangedEvent) override |
| virtual void | PinConnectionListChanged(UEdGraphPin * Pin) override |
| virtual void | OnNodeMoved(const FVector2D & NewPosition) override |
| virtual void | OnBoundGraphRenamed(UObject * OldOuter, const FName OldName) override |
| virtual void | ResetNodeName() override |
| virtual FGameplayTagContainer & | GetAnyStateTags() override |
| virtual void | SetAnyStateTags(const FGameplayTagContainer & InAnyStateTags) override |
| virtual FString | GetStateName() const |
| virtual bool | IsEndState(bool bCheckAnyState =true) const |
| virtual bool | HasInputConnections() const |
| virtual bool | HasOutputConnections() const |
| bool | ShouldDefaultTransitionsToParallel() const |
| bool | ShouldExcludeFromAnyState() const |
| bool | HasTransitionToNode(const UEdGraphNode * Node) const |
| bool | HasTransitionFromNode(const UEdGraphNode * Node) const |
| USMGraphNode_Base * | GetPreviousNode(int32 Index =0) const |
| USMGraphNode_Base * | GetNextNode(int32 Index =0) const |
| USMGraphNode_StateNodeBase * | GetPreviousState(int32 Index =0, bool bIncludeReroute =false, bool bIncludeEntryState =false) const |
| USMGraphNode_StateNodeBase * | GetNextState(int32 Index =0, bool bIncludeReroute =false) const |
| USMGraphNode_TransitionEdge * | GetPreviousTransition(int32 Index =0) const |
| USMGraphNode_TransitionEdge * | GetNextTransition(int32 Index =0) const |
| void | GetInputTransitions(TArray< USMGraphNode_TransitionEdge * > & OutTransitions) const |
| void | GetOutputTransitions(TArray< USMGraphNode_TransitionEdge * > & OutTransitions) const |
| int32 | GetNumInputConnections() const |
| int32 | GetNumOutputConnections() const |
| UEdGraphPin * | GetConnectedEntryPin() const |
| FLinearColor | GetBackgroundColorForNodeInstance(const USMNodeInstance * NodeInstance) const |
| const TSet< TObjectPtr< USMGraphNode_LinkStateNode > > & | GetLinkStates() const |
| void | RemoveInvalidLinkStates() |
| void | RefreshConnectedTransitions() |
Friends inherited from USMGraphNode_StateNodeBase
| Name | |
|---|---|
| class | SGraphNode_StateNode |
| class | USMGraphNode_LinkStateNode |
Public Functions inherited from USMGraphNode_Base
| Name | |
|---|---|
| virtual void | Serialize(FArchive & Ar) override |
| virtual | ~USMGraphNode_Base() override |
| virtual TSharedPtr< INameValidatorInterface > | MakeNameValidator() const override |
| virtual void | OnRenameNode(const FString & NewName) override |
| virtual bool | CanJumpToDefinition() const override |
| virtual bool | CanCreateUnderSpecifiedSchema(const UEdGraphSchema * Schema) const override |
| virtual void | ReconstructNode() override |
| virtual void | PinConnectionListChanged(UEdGraphPin * Pin) 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 | 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 | ResetLogMessages() |
| void | UpdateErrorMessageFromLogs() |
| void | AddNodeLogMessage(const FSMGraphNodeLog & Message) |
| bool | TryGetNodeLogMessage(FString & OutMessage, int32 & OutSeverity) const |
| virtual void | OnNodeMoved(const FVector2D & NewPosition) |
| void | SetReadOnlyNodePosition() |
| 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 |
| UClass * | GetDefaultNodeClass() const |
| bool | IsUsingDefaultNodeClass() const |
| bool | IsNodeClassNative() 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 |
| 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 UEdGraphPin * | GetInputPin() const |
| virtual UEdGraphPin * | GetOutputPin() const |
| UEdGraphNode * | GetOutputNode() const |
| void | GetAllOutputNodes(TArray< UEdGraphNode * > & OutNodes) const |
| void | GetAllOutputNodesAs(TArray< T * > & OutNodes) const |
| virtual FLinearColor | GetBackgroundColor() const |
| virtual FLinearColor | GetActiveBackgroundColor() 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 |
| bool | ConvertToCurrentVersion(bool bOnlyOnLoad =true) |
| bool | SetToCurrentVersion() |
| void | ForceSetVersion(int32 NewVersion) |
| 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 inherited from USMGraphNode_Base
| Name | |
|---|---|
| void | DestroyAllPropertyGraphs() |
| virtual void | PlaceDefaultInstanceNodes() |
| virtual void | RunAllConstructionScripts_Internal() |
| virtual void | RestoreArchetypeValuesPriorToConstruction() |
| bool | IsSafeToConditionallyCompile(EPropertyChangeType::Type ChangeType) 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 inherited from USMGraphNode_Base
| Name | |
|---|---|
| bool | bGenerateTemplateOnNodePlacement |
| uint32 | bRequiresGuidRegeneration |
| uint32 | bNeedsStateStackConversion |
| uint32 | bTEST_ForceNoTemplateGuid |
| TMap< FString, bool > | PropertyCategoriesExpanded |
Protected Attributes inherited from USMGraphNode_Base
| 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 inherited from USMGraphNode_Base
| Name | |
|---|---|
| class | SGraphNode_BaseNode |
Public Functions inherited from ISMEditorGraphNode_StateBaseInterface
| Name | |
|---|---|
| virtual FGameplayTagContainer & | GetAnyStateTags() =0 ![]() |
| virtual void | SetAnyStateTags(const FGameplayTagContainer & InAnyStateTags) =0 ![]() |
Public Functions inherited from ISMEditorGraphNodeInterface
| Name | |
|---|---|
| virtual TScriptInterface< ISMEditorGraphPropertyNodeInterface > | GetEditorGraphProperty(FName PropertyName, const USMNodeInstance * NodeInstance, int32 ArrayIndex =0) const =0 ![]() |
| virtual TArray< TScriptInterface< ISMEditorGraphPropertyNodeInterface > > | GetEditorGraphPropertyAsArray(FName PropertyName, const USMNodeInstance * NodeInstance, int32 ArrayIndex =-1) const =0 ![]() |
| virtual TArray< TScriptInterface< ISMEditorGraphPropertyNodeInterface > > | GetAllEditorGraphProperties(const USMNodeInstance * NodeInstance) const =0 ![]() |
| virtual USMNodeInstance * | AddStackNode(TSubclassOf< USMNodeInstance > NodeClass, int32 StackIndex =INDEX_NONE) =0 |
| virtual void | RemoveStackNode(int32 StackIndex =INDEX_NONE) =0 |
| virtual void | ClearStackNodes() =0 |
| virtual FString | GetNodeName() const =0 ![]() |
| virtual bool | SetNodeName(const FString & NewName, FText & OutErrorMessage) =0 ![]() |
| virtual void | ResetNodeName() =0 ![]() |
| virtual TScriptInterface< ISMEditorGraphNode_StateBaseInterface > | AsStateBaseInterface() =0 ![]() |
Public Functions Documentation¶
function PostLoad¶
function PostPlacedNewNode¶
function PostPasteNode¶
function PostEditChangeProperty¶
function PostEditUndo¶
function DestroyNode¶
function ValidateNodeDuringCompilation¶
function GetJumpTargetForDoubleClick¶
function JumpToDefinition¶
function GetIconAndTint¶
function PreCompile¶
function ImportDeprecatedProperties¶
function CheckSetErrorMessages¶
function GetNodeClassPropertyName¶
function GetNodeClass¶
function SetNodeClass¶
function SupportsPropertyGraphs¶
function GetFriendlyNodeName¶
function GetNodeIcon¶
function GoToLocalGraph¶
function CanGoToLocalGraph¶
function IsNodeFastPathEnabled¶
function SetRuntimeDefaults¶
function GetBoundStateMachineGraph¶
Return the contained state machine graph.
function GetReferenceToJumpTo¶
Returns the best graph of the reference to jump to.
function JumpToReference¶
Jumps to the reference regardless of intermediate graph.
function SetDebugObjectForReference¶
Tells the hyperlink target to use the current debug object.
function ReferenceStateMachine¶
Signals that this state machine is actually a reference to another blueprint.
function InitStateMachineReferenceTemplate¶
Instantiate a template for use as an archetype.
function DestroyReferenceTemplate¶
Transfer the template to the transient package.
function GetStateMachineReference¶
The blueprint state machine this node references.
function GetStateMachineReferenceTemplateDirect¶
Return the pointer to the reference template.
function SetUseIntermediateGraph¶
Signal if a reference graph should be used. Will create one if necessary.
function CreateBoundGraph¶
Creates the appropriate bound graph depending on settings.
function UpdateEditState¶
Set the read only state of the graph if this is a reference.
function IsStateMachineReference¶
If this node references a state machine blueprint.
function IsBoundGraphInvalid¶
function NeedsIntermediateGraph¶
Doesn't have intermediate graph but requires it.
function HasIntermediateGraph¶
Set but may not be in use.
function IsUsingIntermediateGraph¶
Enabled and in use.
function ShouldUseIntermediateGraph¶
User has indicated to use intermediate graph.
function ShouldUseTemplate¶
If true a template will be generated.
function ShouldReuseCurrentState¶
If the current state is reused on end/start
function ShouldReuseIfNotEndState¶
Do not reuse if in an end state
function ShouldWaitForEndState¶
If the FSM is configured to wait for an end state.
function IsSwitchingGraphTypes¶
function GetStateMachineReferencePropertyName¶
Return the protected ReferencedStateMachine property name.
Protected Functions Documentation¶
function OnConvertToCurrentVersion¶
function Internal_GetBackgroundColor¶
function HasLogicStates¶
If this state machine contains any actual states.
function ConfigureInitialReferenceTemplate¶
First time setup when enabling or disabling templates.
function SetNodeClassFromReferenceTemplate¶
Checks the reference template for a node class assigned and sets it to this node if it is different.
Protected Attributes Documentation¶
variable ReferencedStateMachine¶
variable DesiredNodeName¶
variable bShouldUseIntermediateGraph¶
variable bNeedsNewReference¶
variable bSwitchingGraphTypes¶
Private Attributes Documentation¶
variable DynamicClassVariable¶
Dynamically choose the state machine class for the reference at run-time.
Select a variable from this state machine of type TSubclassOf
This variable will be checked during initialization time and the reference will be created based on the class the variable is set to.
The class should be a subclass of the default reference provided.
variable bReuseCurrentState_DEPRECATED¶
Deprecated:
Set on the node template instead.
variable bReuseIfNotEndState_DEPRECATED¶
Deprecated:
Set on the node template instead.
variable bAllowIndependentTick¶
Allows the state machine reference to tick on its own.
variable bCallTickOnManualUpdate¶
The Update method will call Tick only if Update was not called by native Tick.
variable bReuseReference_DEPRECATED¶
Reuse one instance of this class multiple times in the same blueprint. Only works with other references of the exact same class that have this flag checked. Will not work with templating. Will not work properly with looking up nodes by Guid or for serializing state information. Do NOT use if the state machine needs to be saved to disk and reloaded during run-time.
This is to maintain legacy behavior and not encouraged for use.
Deprecated:
Reusing references is no longer supported.
variable bUseTemplate¶
Enable the use of an archetype to allow default values to be set.
variable ReferencedInstanceTemplate¶
variable StateMachineClass¶
Select a custom node class to use for this node. This can be a blueprint or C++ class.








