Skip to content

USMGraphNode_TransitionEdge¶

Module: SMSystemEditor

Inherits from USMGraphNode_Base, UEdGraphNode, ISMEditorGraphNodeInterface

Public Functions¶

Name
void SetRuntimeDefaults(FSMTransition & Transition) const
void CopyFrom(const USMGraphNode_TransitionEdge & Transition)
FSMTransition * GetRuntimeNode() const
virtual void AllocateDefaultPins() override
virtual FText GetNodeTitle(ENodeTitleType::Type TitleType) const override
virtual void PinConnectionListChanged(UEdGraphPin * Pin) override
virtual void PostPlacedNewNode() override
virtual void PrepareForCopying() override
virtual void PostPasteNode() override
virtual void PostEditChangeProperty(FPropertyChangedEvent & PropertyChangedEvent) override
virtual void PostEditChangeChainProperty(FPropertyChangedChainEvent & PropertyChangedEvent) override
virtual void PostEditUndo() override
virtual void DestroyNode() override
virtual bool CanDuplicateNode() const override
virtual void ReconstructNode() override
virtual UObject * GetJumpTargetForDoubleClick() const override
virtual FSlateIcon GetIconAndTint(FLinearColor & OutColor) const override
virtual void ResetDebugState() override
virtual void UpdateTime(float DeltaTime) override
virtual void ImportDeprecatedProperties() override
virtual void PlaceDefaultInstanceNodes() override
virtual FName GetFriendlyNodeName() const override
virtual FLinearColor GetBackgroundColor() const override
virtual FLinearColor GetActiveBackgroundColor() const override
virtual FName GetNodeClassPropertyName() const override
virtual FName GetNodeStackPropertyName() override
virtual FName GetNodeStackElementClassPropertyName() const override
virtual UClass * GetNodeClass() const override
virtual void SetNodeClass(UClass * Class) override
virtual bool SupportsPropertyGraphs() const override
virtual float GetMaxDebugTime() const override
virtual bool IsDebugNodeActive() const override
virtual bool WasDebugNodeActive() const override
virtual void PreCompile(FSMKismetCompilerContext & CompilerContext) override
virtual void PreCompileNodeInstanceValidation(FCompilerResultsLog & CompilerContext, USMCompilerLog * CompilerLog, USMGraphNode_Base * OwningNode) override
virtual void OnCompile(FSMKismetCompilerContext & CompilerContext) override
virtual bool AreTemplatesFullyLoaded() const override
virtual bool CanRunConstructionScripts() const override
virtual bool DoesNodePossiblyHaveConstructionScripts() const override
virtual void RunAllConstructionScripts_Internal() override
virtual void RestoreArchetypeValuesPriorToConstruction() override
virtual const FSlateBrush * GetNodeIcon() const override
virtual void OnBoundGraphRenamed(UObject * OldOuter, const FName OldName) override
virtual TArray< TSubclassOf< USMGraphNode_Base > > GetAllowedDuplicateNodeNameTypes() const override
virtual void ResetNodeName() override
FLinearColor GetTransitionColor(bool bIsHovered) const
const FSlateBrush * GetTransitionIcon(int32 InIndex)
bool IsUsingCustomName() const
UClass * GetSelectedDelegateOwnerClass() const
void GoToTransitionEventNode()
void InitTransitionDelegate()
const FSlateBrush * GetDefaultTransitionIcon() const
FString GetTransitionName() const
FString GetDefaultTransitionName() const
void CreateConnections(USMGraphNode_StateNodeBase * Start, USMGraphNode_StateNodeBase * End)
void RelinkHead(USMGraphNode_StateNodeBase * NewTargetState)
bool PossibleToTransition() const
bool IsSelfTransition() const
USMTransitionGraph * GetTransitionGraph() const
USMGraphNode_StateNodeBase * GetFromState(bool bIncludeReroute =false) const
USMGraphNode_StateNodeBase * GetToState(bool bIncludeReroute =false) const
USMGraphNode_RerouteNode * GetPreviousRerouteNode() const
USMGraphNode_RerouteNode * GetNextRerouteNode() const
USMGraphNode_TransitionEdge * GetPrimaryReroutedTransition()
USMGraphNode_TransitionEdge * GetFirstReroutedTransition()
USMGraphNode_TransitionEdge * GetLastReroutedTransition()
bool IsPrimaryReroutedTransition() const
bool IsConnectedToRerouteNode(const USMGraphNode_RerouteNode * RerouteNode)
void GetAllReroutedTransitions(TArray< USMGraphNode_TransitionEdge * > & OutTransitions, TArray< USMGraphNode_RerouteNode * > & OutRerouteNodes, const LD::Editor::Graph::Transitions::FGatherRerouteArgs & RerouteArgs =LD::Editor::Graph::Transitions::FGatherRerouteArgs())
void GetAllReroutedTransitions(TArray< USMGraphNode_TransitionEdge * > & OutTransitions, const LD::Editor::Graph::Transitions::FGatherRerouteArgs & RerouteArgs =LD::Editor::Graph::Transitions::FGatherRerouteArgs())
void UpdatePrimaryTransition(bool bCopySettingsFromPrimary =true)
void DestroyReroutedTransitions(const LD::Editor::Graph::Transitions::FGatherRerouteArgs & RerouteArgs =LD::Editor::Graph::Transitions::FGatherRerouteArgs())
bool ShouldRunParallel() const
bool WasEvaluating() const
bool IsHovered() const
bool IsFromAnyState() const
bool IsFromLinkState() const
bool IsFromRerouteNode() const
bool IsRerouted() const
UEdGraphPin * GetLinearExpressionPin() const
const TArray< FTransitionStackContainer > & GetAllNodeStackTemplates() const
Transition Stack.
virtual int32 GetIndexOfTemplate(const FGuid & TemplateGuid) const override
virtual void GetAllNodeTemplates(TArray< USMNodeInstance * > & OutNodeInstances) const override
virtual USMNodeInstance * GetTemplateFromIndex(int32 Index) const override
USMNodeInstance * GetTemplateFromGuid(const FGuid & TemplateGuid) const
USMNodeInstance * GetHoveredStackTemplate() const
void ClearCachedHoveredStackTemplate() const
void InitTransitionStack()
void DestroyTransitionStack()
bool HasValidTransitionStack() const
void FormatGraphForStackNodes()
TArray< USMGraphNode_TransitionEdge * > GetListTransitionNodesToRelink(UEdGraphPin * SourcePin, UEdGraphPin * OldTargetPin, const TArray< UEdGraphNode * > & InSelectedGraphNodes)

Protected Functions¶

Name
virtual void OnConvertToCurrentVersion(bool bOnlyOnLoad) override
void CreateBoundGraph()
void DuplicateBoundGraph()
void SetBoundGraph(UEdGraph * Graph)
void SetupDelegateDefaults()
void RefreshTransitionDelegate()
void UpdateTransitionDelegateGuid()
void UpdateResultNodeEventSettings()
void AddNewStackInstanceNodes()
void RemoveUnusedStackInstanceNodes()
virtual FLinearColor Internal_GetBackgroundColor() const override
End Transition Stack.
void SetDefaultsWhenPlaced()

Protected Attributes¶

Name
bool bWasEvaluating

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 TSharedPtr< INameValidatorInterface > MakeNameValidator() const override
virtual void OnRenameNode(const FString & NewName) override
virtual bool CanJumpToDefinition() const override
virtual void JumpToDefinition() const override
virtual bool CanCreateUnderSpecifiedSchema(const UEdGraphSchema * Schema) const 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 OnWidgetConstruct()
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 FVector2D & NewPosition, bool bMarkDirty)
void SetReadOnlyNodePosition()
virtual void GoToLocalGraph() const
virtual bool CanGoToLocalGraph() const
virtual const FGuid & GetCorrectNodeGuid(bool * bIsRunTimeGuid =nullptr) const
const FGuid & GetRuntimeNodeGuidChecked() const
virtual void InitTemplate()
virtual void DestroyTemplate()
void RunAllConstructionScripts()
bool IsRunningConstructionScripts() const
UClass * GetDefaultNodeClass() const
bool IsUsingDefaultNodeClass() const
bool IsNodeClassNative() const
virtual bool IsNodeFastPathEnabled() const
ENodeReplicationEnableLevel GetNodeReplicationEnableLevel() const
virtual FName GetNodeTemplatePropertyName()
USMNodeInstance * GetNodeTemplate() const
USMNodeInstance * GetNodeTemplateFromGuid(const FGuid & Guid) 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 UEdGraphPin * GetInputPin() const
virtual UEdGraphPin * GetOutputPin() const
UEdGraphNode * GetOutputNode() const
void GetAllOutputNodes(TArray< UEdGraphNode * > & OutNodes) const
void GetAllOutputNodesAs(TArray< T * > & OutNodes) 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
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()
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

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 SetRuntimeDefaults¶

void SetRuntimeDefaults(
    FSMTransition & Transition
) const

Copy configuration settings to the runtime node.


function CopyFrom¶

void CopyFrom(
    const USMGraphNode_TransitionEdge & Transition
)

Copy configurable settings from another transition node.


function GetRuntimeNode¶

FSMTransition * GetRuntimeNode() const

Find the FSMTransition used to set defaults.


function AllocateDefaultPins¶

virtual void AllocateDefaultPins() override

function GetNodeTitle¶

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

function PinConnectionListChanged¶

virtual void PinConnectionListChanged(
    UEdGraphPin * Pin
) override

function PostPlacedNewNode¶

virtual void PostPlacedNewNode() override

function PrepareForCopying¶

virtual void PrepareForCopying() override

function PostPasteNode¶

virtual void PostPasteNode() override

function PostEditChangeProperty¶

virtual void PostEditChangeProperty(
    FPropertyChangedEvent & PropertyChangedEvent
) override

function PostEditChangeChainProperty¶

virtual void PostEditChangeChainProperty(
    FPropertyChangedChainEvent & PropertyChangedEvent
) override

function PostEditUndo¶

virtual void PostEditUndo() override

function DestroyNode¶

virtual void DestroyNode() override

function CanDuplicateNode¶

inline virtual bool CanDuplicateNode() const override

function ReconstructNode¶

virtual void ReconstructNode() override

function GetJumpTargetForDoubleClick¶

virtual UObject * GetJumpTargetForDoubleClick() const override

function GetIconAndTint¶

virtual FSlateIcon GetIconAndTint(
    FLinearColor & OutColor
) const override

function ResetDebugState¶

virtual void ResetDebugState() override

function UpdateTime¶

virtual void UpdateTime(
    float DeltaTime
) override

function ImportDeprecatedProperties¶

virtual void ImportDeprecatedProperties() override

function PlaceDefaultInstanceNodes¶

virtual void PlaceDefaultInstanceNodes() override

function GetFriendlyNodeName¶

inline virtual FName GetFriendlyNodeName() const override

function GetBackgroundColor¶

virtual FLinearColor GetBackgroundColor() const override

function GetActiveBackgroundColor¶

virtual FLinearColor GetActiveBackgroundColor() const override

function GetNodeClassPropertyName¶

inline virtual FName GetNodeClassPropertyName() const override

function GetNodeStackPropertyName¶

inline virtual FName GetNodeStackPropertyName() override

function GetNodeStackElementClassPropertyName¶

inline virtual FName GetNodeStackElementClassPropertyName() const override

function GetNodeClass¶

inline virtual UClass * GetNodeClass() const override

function SetNodeClass¶

virtual void SetNodeClass(
    UClass * Class
) override

function SupportsPropertyGraphs¶

inline virtual bool SupportsPropertyGraphs() const override

function GetMaxDebugTime¶

virtual float GetMaxDebugTime() const override

function IsDebugNodeActive¶

virtual bool IsDebugNodeActive() const override

function WasDebugNodeActive¶

virtual bool WasDebugNodeActive() const override

function PreCompile¶

virtual void PreCompile(
    FSMKismetCompilerContext & CompilerContext
) override

function PreCompileNodeInstanceValidation¶

virtual void PreCompileNodeInstanceValidation(
    FCompilerResultsLog & CompilerContext,
    USMCompilerLog * CompilerLog,
    USMGraphNode_Base * OwningNode
) override

function OnCompile¶

virtual void OnCompile(
    FSMKismetCompilerContext & CompilerContext
) override

function AreTemplatesFullyLoaded¶

virtual bool AreTemplatesFullyLoaded() const override

function CanRunConstructionScripts¶

virtual bool CanRunConstructionScripts() const override

function DoesNodePossiblyHaveConstructionScripts¶

virtual bool DoesNodePossiblyHaveConstructionScripts() const override

function RunAllConstructionScripts_Internal¶

virtual void RunAllConstructionScripts_Internal() override

function RestoreArchetypeValuesPriorToConstruction¶

virtual void RestoreArchetypeValuesPriorToConstruction() override

function GetNodeIcon¶

virtual const FSlateBrush * GetNodeIcon() const override

function OnBoundGraphRenamed¶

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

function GetAllowedDuplicateNodeNameTypes¶

virtual TArray< TSubclassOf< USMGraphNode_Base > > GetAllowedDuplicateNodeNameTypes() const override

function ResetNodeName¶

virtual void ResetNodeName() override

function GetTransitionColor¶

FLinearColor GetTransitionColor(
    bool bIsHovered
) const

Return the color to use for the transition.


function GetTransitionIcon¶

const FSlateBrush * GetTransitionIcon(
    int32 InIndex
)

Return the correct icon for the transition or transition stack.

Parameters:

InIndex
The icon to retrieve. < 0 for base transition, 0+ for the transition stack.

function IsUsingCustomName¶

inline bool IsUsingCustomName() const

If this transition is using a custom name instead of the default name.


function GetSelectedDelegateOwnerClass¶

UClass * GetSelectedDelegateOwnerClass() const

function GoToTransitionEventNode¶

void GoToTransitionEventNode()

function InitTransitionDelegate¶

void InitTransitionDelegate()

function GetDefaultTransitionIcon¶

const FSlateBrush * GetDefaultTransitionIcon() const

The default transition brush to use.


function GetTransitionName¶

FString GetTransitionName() const

Return the correct transition name to use, which may be either the default name or a custom name.


function GetDefaultTransitionName¶

FString GetDefaultTransitionName() const

Return the automatic transition name of "StateA to StateB."


function CreateConnections¶

void CreateConnections(
    USMGraphNode_StateNodeBase * Start,
    USMGraphNode_StateNodeBase * End
)

function RelinkHead¶

void RelinkHead(
    USMGraphNode_StateNodeBase * NewTargetState
)

Relink transition head (where the arrow is of a state transition) to a new state. While the core of this is similar to how anim graphs work, it's been adjusted with LD specific nodes and bug fixes.

Parameters:

NewTargetState
The new transition target.

function PossibleToTransition¶

bool PossibleToTransition() const

Checks if there is any possibility of transitioning.


function IsSelfTransition¶

bool IsSelfTransition() const

If this transition is considered a self-transition, and the transition is looping back to itself (excludes reroutes).


function GetTransitionGraph¶

USMTransitionGraph * GetTransitionGraph() const

function GetFromState¶

USMGraphNode_StateNodeBase * GetFromState(
    bool bIncludeReroute =false
) const

function GetToState¶

USMGraphNode_StateNodeBase * GetToState(
    bool bIncludeReroute =false
) const

function GetPreviousRerouteNode¶

USMGraphNode_RerouteNode * GetPreviousRerouteNode() const

function GetNextRerouteNode¶

USMGraphNode_RerouteNode * GetNextRerouteNode() const

function GetPrimaryReroutedTransition¶

USMGraphNode_TransitionEdge * GetPrimaryReroutedTransition()

Return the primary transition (first) in a reroute chain. May be this transition.


function GetFirstReroutedTransition¶

USMGraphNode_TransitionEdge * GetFirstReroutedTransition()

Return the first transition in a reroute chain.


function GetLastReroutedTransition¶

USMGraphNode_TransitionEdge * GetLastReroutedTransition()

Return the last transition in a reroute chain.


function IsPrimaryReroutedTransition¶

bool IsPrimaryReroutedTransition() const

If this transition is the primary rerouted transition.


function IsConnectedToRerouteNode¶

bool IsConnectedToRerouteNode(
    const USMGraphNode_RerouteNode * RerouteNode
)

Check if a specific reroute node is contained in the route.


function GetAllReroutedTransitions¶

void GetAllReroutedTransitions(
    TArray< USMGraphNode_TransitionEdge * > & OutTransitions,
    TArray< USMGraphNode_RerouteNode * > & OutRerouteNodes,
    const LD::Editor::Graph::Transitions::FGatherRerouteArgs & RerouteArgs =LD::Editor::Graph::Transitions::FGatherRerouteArgs()
)

Return all transitions and reroute nodes, both before, after, and including this transition.


function GetAllReroutedTransitions¶

void GetAllReroutedTransitions(
    TArray< USMGraphNode_TransitionEdge * > & OutTransitions,
    const LD::Editor::Graph::Transitions::FGatherRerouteArgs & RerouteArgs =LD::Editor::Graph::Transitions::FGatherRerouteArgs()
)

Return all transitions, both before, after, and including this transition.


function UpdatePrimaryTransition¶

void UpdatePrimaryTransition(
    bool bCopySettingsFromPrimary =true
)

Find the primary transition and make sure it's at the first available transition.


function DestroyReroutedTransitions¶

void DestroyReroutedTransitions(
    const LD::Editor::Graph::Transitions::FGatherRerouteArgs & RerouteArgs =LD::Editor::Graph::Transitions::FGatherRerouteArgs()
)

Destroys rerouted transitions, but not this transition.


function ShouldRunParallel¶

bool ShouldRunParallel() const

function WasEvaluating¶

bool WasEvaluating() const

function IsHovered¶

inline bool IsHovered() const

function IsFromAnyState¶

bool IsFromAnyState() const

If the previous state is an Any State.


function IsFromLinkState¶

bool IsFromLinkState() const

If the previous state is a Link State.


function IsFromRerouteNode¶

bool IsFromRerouteNode() const

If the previous node is a reroute node.


function IsRerouted¶

inline bool IsRerouted() const

If the transition is from or to a reroute node.


function GetLinearExpressionPin¶

UEdGraphPin * GetLinearExpressionPin() const

Return the best pin to use for linear expression display.


function GetAllNodeStackTemplates¶

const TArray< FTransitionStackContainer > & GetAllNodeStackTemplates() const

Transition Stack.

Return all transition stack templates.


function GetIndexOfTemplate¶

virtual int32 GetIndexOfTemplate(
    const FGuid & TemplateGuid
) const override

Retrieve the array index from the template guid.

Return: the array index or INDEX_NONE if not found.


function GetAllNodeTemplates¶

virtual void GetAllNodeTemplates(
    TArray< USMNodeInstance * > & OutNodeInstances
) const override

function GetTemplateFromIndex¶

virtual USMNodeInstance * GetTemplateFromIndex(
    int32 Index
) const override

Retrieve the template instance from an index.

Return: the NodeInstance template.


function GetTemplateFromGuid¶

USMNodeInstance * GetTemplateFromGuid(
    const FGuid & TemplateGuid
) const

Retrieve the template instance from a template guid.

Return: the NodeInstance template.


function GetHoveredStackTemplate¶

USMNodeInstance * GetHoveredStackTemplate() const

Return the user hovered stack template, or nullptr.


function ClearCachedHoveredStackTemplate¶

inline void ClearCachedHoveredStackTemplate() const

Clear the cached template.


function InitTransitionStack¶

void InitTransitionStack()

function DestroyTransitionStack¶

void DestroyTransitionStack()

function HasValidTransitionStack¶

bool HasValidTransitionStack() const

Checks if there is at least one valid transition stack element.


function FormatGraphForStackNodes¶

void FormatGraphForStackNodes()

Place transition stack nodes into the local graph.


static TArray< USMGraphNode_TransitionEdge * > GetListTransitionNodesToRelink(
    UEdGraphPin * SourcePin,
    UEdGraphPin * OldTargetPin,
    const TArray< UEdGraphNode * > & InSelectedGraphNodes
)

Helper function to gather the transition nodes to be relinked.


Protected Functions Documentation¶

function OnConvertToCurrentVersion¶

virtual void OnConvertToCurrentVersion(
    bool bOnlyOnLoad
) override

function CreateBoundGraph¶

void CreateBoundGraph()

function DuplicateBoundGraph¶

void DuplicateBoundGraph()

function SetBoundGraph¶

void SetBoundGraph(
    UEdGraph * Graph
)

function SetupDelegateDefaults¶

void SetupDelegateDefaults()

function RefreshTransitionDelegate¶

void RefreshTransitionDelegate()

function UpdateTransitionDelegateGuid¶

void UpdateTransitionDelegateGuid()

Record the guid.


function UpdateResultNodeEventSettings¶

void UpdateResultNodeEventSettings()

Update all applicable transition result nodes with the event settings of this node.


function AddNewStackInstanceNodes¶

void AddNewStackInstanceNodes()

Add any transition stack instance nodes not already present.


function RemoveUnusedStackInstanceNodes¶

void RemoveUnusedStackInstanceNodes()

Check for and remove any GetStackNodeInstance nodes that aren't used.


function Internal_GetBackgroundColor¶

virtual FLinearColor Internal_GetBackgroundColor() const override

End Transition Stack.


function SetDefaultsWhenPlaced¶

void SetDefaultsWhenPlaced()

Protected Attributes Documentation¶

variable bWasEvaluating¶

bool bWasEvaluating;

Private Attributes Documentation¶

variable TransitionClass¶

TSubclassOf< USMTransitionInstance > TransitionClass;

Select a custom node class to use for this node. This can be a blueprint or C++ class.


variable DelegateOwnerInstance¶

TEnumAsByte< ESMDelegateOwner > DelegateOwnerInstance;

The instance which owns the delegate the transition should bind to.


variable DelegateOwnerClass¶

TSubclassOf< UObject > DelegateOwnerClass;

The class of the instance containing the delegate.


variable DelegatePropertyGuid¶

FGuid DelegatePropertyGuid;

The guid assigned to this property if one exists.


variable DelegatePropertyName¶

FName DelegatePropertyName;

Available delegates.


variable bEventTriggersTargetedUpdate¶

uint8 bEventTriggersTargetedUpdate;

If the event should trigger a targeted update of the state machine limited to this transition and destination state.

This can efficiently allow state machines with tick disabled to update. This won't evaluate parallel or super state transitions.

This setting can also be changed on each Event Trigger Result Node.


variable bEventTriggersFullUpdate¶

uint8 bEventTriggersFullUpdate;

If the event should trigger a full update of the state machine. Setting this will be applied after 'Targeted Update'. A full update consists of evaluating transitions top down from the root state machine, as well as running OnStateUpdate if necessary.

This is a legacy setting. To maintain old legacy behavior enable this setting and disable 'Targeted Update'.

This setting can also be changed on each Event Trigger Result Node.


variable bCanEvaluate_DEPRECATED¶

uint8 bCanEvaluate_DEPRECATED;

Deprecated:

Set on the node template instead.


variable bCanEvaluateFromEvent_DEPRECATED¶

uint8 bCanEvaluateFromEvent_DEPRECATED;

Deprecated:

Set on the node template instead.


variable bCanEvalWithStartState_DEPRECATED¶

uint8 bCanEvalWithStartState_DEPRECATED;

Deprecated:

Set on the node template instead.


variable bAutoFormatGraph¶

uint8 bAutoFormatGraph;

Auto format the local graph and generate an expression for conditional evaluation. This will physically add or remove blueprint operator nodes to the local graph.

For more complex expressions generate the initial graph using the transition stack, uncheck Auto Format Graph, and update the blueprint operator nodes in the local graph.

This is ideal for quick prototyping or areas where performance isn't critical, but for optimal memory usage and performance use a single transition class instead. Even with pure C++ transition classes any operator nodes in the local graph will require blueprint graph evaluation.


variable bNOTPrimaryCondition¶

uint8 bNOTPrimaryCondition;

NOT the primary node instance or condition. No impact if only using pin defaults. Requires bAutoFormatGraph set.


variable TransitionStack¶

TArray< FTransitionStackContainer > TransitionStack;

Add additional transition classes so simple expressions can be used to determine if the transition should pass. Requires bAutoFormatGraph.


variable PriorityOrder_DEPRECATED¶

int32 PriorityOrder_DEPRECATED;

Deprecated:

Set on the node template instead.


variable CachedRotation¶

FVector2D CachedRotation;

Rotation for icon display.


variable bQueryAsRerouteNode¶

bool bQueryAsRerouteNode = false;

HACK: Helper for the slate widget to determine which default icon to display.


variable AutoGeneratedStackNodes¶

TArray< TObjectPtr< UEdGraphNode > > AutoGeneratedStackNodes;

Auto added nodes for the transition stack.


variable InitialOperatorNode¶

TObjectPtr< UK2Node_CommutativeAssociativeBinaryOperator > InitialOperatorNode;

The initial auto generated operator. Tracked so pin 0 can be used for reconnecting user entered pins when regenerating.


variable CachedHoveredTransitionStack¶

TObjectPtr< USMNodeInstance > CachedHoveredTransitionStack;

When the user is hovering a transition stack and has right clicked. Cached so the context menu knows what was hovered at time of right click.


variable LastHoverTimeStamp¶

FDateTime LastHoverTimeStamp;

variable TimeSinceHover¶

double TimeSinceHover;

variable bIsHoveredByUser¶

uint8 bIsHoveredByUser;

variable bFromAnyState¶

uint8 bFromAnyState;

variable bFromLinkState¶

uint8 bFromLinkState;

variable bChangingProperty¶

uint8 bChangingProperty;

variable bUsingCustomName¶

uint8 bUsingCustomName;

Friends¶

friend SGraphNode_TransitionEdge¶

friend class SGraphNode_TransitionEdge(
    SGraphNode_TransitionEdge 
);

friend FSMKismetCompilerContext¶

friend class FSMKismetCompilerContext(
    FSMKismetCompilerContext 
);

friend FSMGraphConnectionDrawingPolicy¶

friend class FSMGraphConnectionDrawingPolicy(
    FSMGraphConnectionDrawingPolicy 
);