Skip to content

USMGraphNode_StateNodeBase¶

Module: SMSystemEditor

#include <SMGraphNode_StateNodeBase.h>

Inherits from USMGraphNode_Base, ISMEditorGraphNode_StateBaseInterface, UEdGraphNode, ISMEditorGraphNodeInterface

Inherited by USMGraphNode_AnyStateNode, USMGraphNode_ConduitNode, USMGraphNode_LinkStateNode, USMGraphNode_RerouteNode, USMGraphNode_StateMachineEntryNode, USMGraphNode_StateMachineStateNode, USMGraphNode_StateNode

Description¶

class USMGraphNode_StateNodeBase;

Base class required as states and conduits branch separately from a common source.

Public Classes¶

Name
struct FOutputStateArgs

Public Functions¶

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 PostPlacedNewNode() override
virtual void PostPasteNode() override
virtual void DestroyNode() override
virtual void PostEditChangeChainProperty(FPropertyChangedChainEvent & PropertyChangedEvent) override
virtual void PinConnectionListChanged(UEdGraphPin * Pin) override
virtual void ImportDeprecatedProperties() override
virtual void OnNodeMoved(const FVector2D & NewPosition, bool bMarkDirty) override
virtual void OnBoundGraphRenamed(UObject * OldOuter, const FName OldName) override
virtual void PreCompile(FSMKismetCompilerContext & CompilerContext) override
virtual void OnNodeSelectionChanged(bool bSelected, TOptional< bool > bHovered =TOptional< bool >()) override
virtual void ResetNodeName() override
virtual FGameplayTagContainer & GetAnyStateTags() override
virtual void SetAnyStateTags(const FGameplayTagContainer & InAnyStateTags) override
virtual void SetRuntimeDefaults(FSMState_Base & State) const
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, bool bForwardLinkState =false) const
USMGraphNode_TransitionEdge * GetPreviousTransition(int32 Index =0) const
USMGraphNode_TransitionEdge * GetNextTransition(int32 Index =0) const
void GetOutputStates(TArray< USMGraphNode_StateNodeBase * > & OutStates, const FOutputStateArgs & OutputStateArgs =FOutputStateArgs()) 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()
FSMPropertyInteractionManager & GetPropertyInteractionManager() const

Protected Functions¶

Name
virtual FLinearColor Internal_GetBackgroundColor() const override

Friends¶

Additional inherited members¶

Public Types inherited from USMGraphNode_Base

Name
enum uint8 ENodeReplicationEnableLevel

Public Functions inherited from USMGraphNode_Base

Name
virtual void Serialize(FArchive & Ar) override
virtual void PostLoad() override
virtual ~USMGraphNode_Base() override
virtual void PostEditUndo() override
virtual TSharedPtr< INameValidatorInterface > MakeNameValidator() const 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 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 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 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
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
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 * 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
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()
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
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)
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
virtual void OnConvertToCurrentVersion(bool bOnlyOnLoad)
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

Protected Attributes inherited from USMGraphNode_Base

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 inherited from USMGraphNode_Base

Name
class SGraphNode_BaseNode

Public Functions inherited from ISMEditorGraphNodeInterface

Name
virtual TScriptInterface< ISMEditorGraphPropertyNodeInterface > GetEditorGraphProperty(FName PropertyName, const USMNodeInstance * NodeInstance, int32 ArrayIndex =0) const =0
images/classes/SMEditorGraphNodeInterface/img/nd_img_GetEditorGraphProperty.png
virtual TArray< TScriptInterface< ISMEditorGraphPropertyNodeInterface > > GetEditorGraphPropertyAsArray(FName PropertyName, const USMNodeInstance * NodeInstance, int32 ArrayIndex =-1) const =0
images/classes/SMEditorGraphNodeInterface/img/nd_img_GetEditorGraphPropertyAsArray.png
virtual TArray< TScriptInterface< ISMEditorGraphPropertyNodeInterface > > GetAllEditorGraphProperties(const USMNodeInstance * NodeInstance) const =0
images/classes/SMEditorGraphNodeInterface/img/nd_img_GetAllEditorGraphProperties.png
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
images/classes/SMEditorGraphNodeInterface/img/nd_img_GetNodeName.png
virtual bool SetNodeName(const FString & NewName, FText & OutErrorMessage) =0
images/classes/SMEditorGraphNodeInterface/img/nd_img_SetNodeName.png
virtual TScriptInterface< ISMEditorGraphNode_StateBaseInterface > AsStateBaseInterface() =0
images/classes/SMEditorGraphNodeInterface/img/nd_img_AsStateBaseInterface.png

Public Functions Documentation¶

function AllocateDefaultPins¶

virtual void AllocateDefaultPins() override

Reimplemented by: USMGraphNode_AnyStateNode::AllocateDefaultPins, USMGraphNode_LinkStateNode::AllocateDefaultPins, USMGraphNode_StateMachineEntryNode::AllocateDefaultPins


function GetNodeTitle¶

virtual FText GetNodeTitle(
    ENodeTitleType::Type TitleType
) const override

Reimplemented by: USMGraphNode_AnyStateNode::GetNodeTitle, USMGraphNode_LinkStateNode::GetNodeTitle, USMGraphNode_StateMachineEntryNode::GetNodeTitle


function GetCanRenameNode¶

virtual bool GetCanRenameNode() const override

Reimplemented by: USMGraphNode_RerouteNode::GetCanRenameNode


function OnRenameNode¶

virtual void OnRenameNode(
    const FString & NewName
) override

Reimplements: USMGraphNode_Base::OnRenameNode

Reimplemented by: USMGraphNode_AnyStateNode::OnRenameNode, USMGraphNode_LinkStateNode::OnRenameNode, USMGraphNode_RerouteNode::OnRenameNode


function AutowireNewNode¶

virtual void AutowireNewNode(
    UEdGraphPin * FromPin
) override

function PostPlacedNewNode¶

virtual void PostPlacedNewNode() override

Reimplements: USMGraphNode_Base::PostPlacedNewNode

Reimplemented by: USMGraphNode_AnyStateNode::PostPlacedNewNode, USMGraphNode_LinkStateNode::PostPlacedNewNode, USMGraphNode_RerouteNode::PostPlacedNewNode, USMGraphNode_StateMachineEntryNode::PostPlacedNewNode


function PostPasteNode¶

virtual void PostPasteNode() override

Reimplements: USMGraphNode_Base::PostPasteNode

Reimplemented by: USMGraphNode_AnyStateNode::PostPasteNode, USMGraphNode_LinkStateNode::PostPasteNode, USMGraphNode_RerouteNode::PostPasteNode, USMGraphNode_StateMachineEntryNode::PostPasteNode


function DestroyNode¶

virtual void DestroyNode() override

Reimplements: USMGraphNode_Base::DestroyNode

Reimplemented by: USMGraphNode_LinkStateNode::DestroyNode, USMGraphNode_StateNode::DestroyNode


function PostEditChangeChainProperty¶

virtual void PostEditChangeChainProperty(
    FPropertyChangedChainEvent & PropertyChangedEvent
) override

function PinConnectionListChanged¶

virtual void PinConnectionListChanged(
    UEdGraphPin * Pin
) override

Reimplements: USMGraphNode_Base::PinConnectionListChanged


function ImportDeprecatedProperties¶

virtual void ImportDeprecatedProperties() override

Brings in old values previously defined in the node and sets them on the template.

Reimplements: USMGraphNode_Base::ImportDeprecatedProperties


function OnNodeMoved¶

virtual void OnNodeMoved(
    const FVector2D & NewPosition,
    bool bMarkDirty
) override

Called by slate when the node is moved.

Reimplements: USMGraphNode_Base::OnNodeMoved


function OnBoundGraphRenamed¶

virtual void OnBoundGraphRenamed(
    UObject * OldOuter,
    const FName OldName
) override

Called after the bound graph has been renamed.

Reimplements: USMGraphNode_Base::OnBoundGraphRenamed


function PreCompile¶

virtual void PreCompile(
    FSMKismetCompilerContext & CompilerContext
) override

Called during kismet pre-compile before the bound graph is copied to the consolidated event graph.

Reimplements: USMGraphNode_Base::PreCompile

Reimplemented by: USMGraphNode_LinkStateNode::PreCompile, USMGraphNode_RerouteNode::PreCompile


function OnNodeSelectionChanged¶

virtual void OnNodeSelectionChanged(
    bool bSelected,
    TOptional< bool > bHovered =TOptional< bool >()
) override

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.

Reimplements: USMGraphNode_Base::OnNodeSelectionChanged


function ResetNodeName¶

virtual void ResetNodeName() override

Reset a node name back to its default.

Reimplements: USMGraphNode_Base::ResetNodeName


function GetAnyStateTags¶

inline virtual FGameplayTagContainer & GetAnyStateTags() override

Retrieve the Any State tags used by the state node.

Reimplements: ISMEditorGraphNode_StateBaseInterface::GetAnyStateTags


function SetAnyStateTags¶

virtual void SetAnyStateTags(
    const FGameplayTagContainer & InAnyStateTags
) override

Set the Any State tags used by the state node. These can be modified during construction scripts.

Reimplements: ISMEditorGraphNode_StateBaseInterface::SetAnyStateTags


function SetRuntimeDefaults¶

virtual void SetRuntimeDefaults(
    FSMState_Base & State
) const

Copy configuration settings to the runtime node.


function GetStateName¶

inline virtual FString GetStateName() const

Reimplemented by: USMGraphNode_AnyStateNode::GetStateName, USMGraphNode_LinkStateNode::GetStateName


function IsEndState¶

virtual bool IsEndState(
    bool bCheckAnyState =true
) const

Checks if there are no outbound transitions.

Parameters:

bCheckAnyState
Checks if an Any State will prevent this from being an end state.

Reimplemented by: USMGraphNode_LinkStateNode::IsEndState, USMGraphNode_RerouteNode::IsEndState


function HasInputConnections¶

virtual bool HasInputConnections() const

Checks if there are any connections to this node. Does not count self.


function HasOutputConnections¶

virtual bool HasOutputConnections() const

Checks if there are any connections from this node.


function ShouldDefaultTransitionsToParallel¶

bool ShouldDefaultTransitionsToParallel() const

If transitions are supposed to run in parallel.


function ShouldExcludeFromAnyState¶

bool ShouldExcludeFromAnyState() const

If this node shouldn't receive transitions from an Any State.


function HasTransitionToNode¶

bool HasTransitionToNode(
    const UEdGraphNode * Node
) const

Checks if there is a node connected via outgoing transition.


function HasTransitionFromNode¶

bool HasTransitionFromNode(
    const UEdGraphNode * Node
) const

Checks if there is a node connected via incoming transition.


function GetPreviousNode¶

USMGraphNode_Base * GetPreviousNode(
    int32 Index =0
) const

Returns the previous node, regardless of if it is a state or transition.


function GetNextNode¶

USMGraphNode_Base * GetNextNode(
    int32 Index =0
) const

Returns the next node, regardless of if it is a state or transition.


function GetPreviousState¶

USMGraphNode_StateNodeBase * GetPreviousState(
    int32 Index =0,
    bool bIncludeReroute =false,
    bool bIncludeEntryState =false
) const

Returns the previous node at the given input linked to index.


function GetNextState¶

USMGraphNode_StateNodeBase * GetNextState(
    int32 Index =0,
    bool bIncludeReroute =false,
    bool bForwardLinkState =false
) const

Returns the next node at the given output linked to the index.

Parameters:

Index
The index of the state, based on the transition.
bIncludeReroute
Whether to include reroute nodes in the search. If false, the reroute node is skipped to its destination.
bForwardLinkState
Whether to follow forward links to states.

function GetPreviousTransition¶

USMGraphNode_TransitionEdge * GetPreviousTransition(
    int32 Index =0
) const

Returns a transition going to the input pin.


function GetNextTransition¶

USMGraphNode_TransitionEdge * GetNextTransition(
    int32 Index =0
) const

Returns a transitions from the output pin.


function GetOutputStates¶

void GetOutputStates(
    TArray< USMGraphNode_StateNodeBase * > & OutStates,
    const FOutputStateArgs & OutputStateArgs =FOutputStateArgs()
) const

Return all output states.


function GetInputTransitions¶

void GetInputTransitions(
    TArray< USMGraphNode_TransitionEdge * > & OutTransitions
) const

Return all transitions to the input pin.


function GetOutputTransitions¶

void GetOutputTransitions(
    TArray< USMGraphNode_TransitionEdge * > & OutTransitions
) const

Return all transitions from the output pin.


function GetNumInputConnections¶

int32 GetNumInputConnections() const

Return the total number of input connections. Not necessarily transitions such as when coming from an entry state.


function GetNumOutputConnections¶

int32 GetNumOutputConnections() const

Return the total number of output connections.


function GetConnectedEntryPin¶

UEdGraphPin * GetConnectedEntryPin() const

Return the entry pin if this states is connected to an entry node, nullptr otherwise.


function GetBackgroundColorForNodeInstance¶

FLinearColor GetBackgroundColorForNodeInstance(
    const USMNodeInstance * NodeInstance
) const

function GetLinkStates¶

inline const TSet< TObjectPtr< USMGraphNode_LinkStateNode > > & GetLinkStates() const

Return any Link States pointing to this node.


function RemoveInvalidLinkStates¶

void RemoveInvalidLinkStates()

Checks for any Link States that don't exist and remove them.


function RefreshConnectedTransitions¶

void RefreshConnectedTransitions()

Notify any transitions they should refresh.


function GetPropertyInteractionManager¶

FSMPropertyInteractionManager & GetPropertyInteractionManager() const

The property interaction manager, used to indicate the current interaction state of a property.


Protected Functions Documentation¶

function Internal_GetBackgroundColor¶

virtual FLinearColor Internal_GetBackgroundColor() const override

Reimplements: USMGraphNode_Base::Internal_GetBackgroundColor

Reimplemented by: USMGraphNode_AnyStateNode::Internal_GetBackgroundColor, USMGraphNode_LinkStateNode::Internal_GetBackgroundColor, USMGraphNode_RerouteNode::Internal_GetBackgroundColor


Private Attributes Documentation¶

variable AnyStateTags¶

FGameplayTagContainer AnyStateTags;

Add tags to this state that Any State nodes will recognize. This can allow control over which specific Any State nodes should impact this state.

On the Any State you can define an AnyStateTagQuery to control which tags an Any State should recognize. Only valid in the editor.


variable bAlwaysUpdate_DEPRECATED¶

uint8 bAlwaysUpdate_DEPRECATED;

Deprecated:

Set on the node template instead.


variable bDisableTickTransitionEvaluation_DEPRECATED¶

uint8 bDisableTickTransitionEvaluation_DEPRECATED;

Deprecated:

Set on the node template instead.


variable bEvalTransitionsOnStart_DEPRECATED¶

uint8 bEvalTransitionsOnStart_DEPRECATED;

Deprecated:

Set on the node template instead.


variable bExcludeFromAnyState_DEPRECATED¶

uint8 bExcludeFromAnyState_DEPRECATED;

Deprecated:

Set on the node template instead.


variable bCanTransitionToSelf¶

uint8 bCanTransitionToSelf;

Set by the editor and read by the schema to allow self transitions. We don't want to drag / drop self transitions because a single pin click will trigger them. There doesn't seem to be an ideal way for the schema to detect mouse movement to prevent single clicks when in CanCreateConnection, so we're relying on a context menu.


variable bRequestInitialAnimation¶

bool bRequestInitialAnimation;

variable LinkStates¶

TSet< TObjectPtr< USMGraphNode_LinkStateNode > > LinkStates;

Link States linking to this state.


variable PropertyInteractionManager¶

TSharedPtr< FSMPropertyInteractionManager > PropertyInteractionManager;

Used to persist certain UI information across compiles/graph refreshes.


Friends¶

friend SGraphNode_StateNode¶

friend class SGraphNode_StateNode(
    SGraphNode_StateNode 
);

friend USMGraphNode_LinkStateNode¶

friend class USMGraphNode_LinkStateNode(
    USMGraphNode_LinkStateNode 
);