Skip to content

USMGraphK2Node_RuntimeNode_Base

Module: SMSystemEditor

Inherits from USMGraphK2Node_RootNode

Inherited by USMGraphK2Node_RuntimeNodeContainer, USMGraphK2Node_RuntimeNodeReference

Public Functions

Name
virtual FSMNode_Base * GetRunTimeNodeFromContainer(USMGraphK2Node_RuntimeNodeContainer * InContainer)
virtual bool IsCompatibleWithInstanceGraphNodeClass(TSubclassOf< USMGraphK2Node_FunctionNode_NodeInstance > InGraphNodeClass) const
SMSYSTEMEDITOR_API USMGraphK2Node_FunctionNode_NodeInstance * GetConnectedNodeInstanceFunction() const
SMSYSTEMEDITOR_API USMGraphK2Node_FunctionNode_NodeInstance * GetConnectedNodeInstanceFunctionIfValidForOptimization() const
SMSYSTEMEDITOR_API ESMExposedFunctionExecutionType GetGraphExecutionType() const
SMSYSTEMEDITOR_API ESMExposedFunctionExecutionType GetGraphExecutionTypeForRelease() const
virtual bool IsConsideredForEntryConnection() const
virtual void ResetCachedValues()
SMSYSTEMEDITOR_API bool IsFastPathEnabled() const
bool IsSafeToOptimizeNodeOut() const

Protected Functions

Name
virtual SMSYSTEMEDITOR_API UEdGraphPin * GetCorrectEntryPin() const
virtual SMSYSTEMEDITOR_API UEdGraphPin * GetCorrectNodeInstanceOutputPin(USMGraphK2Node_FunctionNode_NodeInstance * InInstance) const

Public Functions Documentation

function GetRunTimeNodeFromContainer

inline virtual FSMNode_Base * GetRunTimeNodeFromContainer(
    USMGraphK2Node_RuntimeNodeContainer * InContainer
)

Return the runtime node given a container object. When called from a container pass nullptr. When called from a reference the container must be valid or it will fail.


function IsCompatibleWithInstanceGraphNodeClass

inline virtual bool IsCompatibleWithInstanceGraphNodeClass(
    TSubclassOf< USMGraphK2Node_FunctionNode_NodeInstance > InGraphNodeClass
) const

If this root node is compatible with an instance function graph node. Such as OnStateBegin (USMGraphK2Node_StateEntryNode) is compatible with USMGraphK2Node_StateInstance_Begin. Called from GetGraphExecutionType.


function GetConnectedNodeInstanceFunction

SMSYSTEMEDITOR_API USMGraphK2Node_FunctionNode_NodeInstance * GetConnectedNodeInstanceFunction() const

Return the immediate connected node instance function if present.


function GetConnectedNodeInstanceFunctionIfValidForOptimization

SMSYSTEMEDITOR_API USMGraphK2Node_FunctionNode_NodeInstance * GetConnectedNodeInstanceFunctionIfValidForOptimization() const

Return the immediate connected node instance function only if it is completely valid for an optimization pass.


function GetGraphExecutionType

SMSYSTEMEDITOR_API ESMExposedFunctionExecutionType GetGraphExecutionType() const

Check the connected pins to the 'GetCorrectEntryPin()' pin and determine the execution type.

Note:

During development this may be graph-only to support visual debugging with fast path operations.


function GetGraphExecutionTypeForRelease

SMSYSTEMEDITOR_API ESMExposedFunctionExecutionType GetGraphExecutionTypeForRelease() const

The release build variant of GetGraphExecutionType().


function IsConsideredForEntryConnection

inline virtual bool IsConsideredForEntryConnection() const

If this node counts for USMGraphK2::HasAnyLogicConnections().


function ResetCachedValues

inline virtual void ResetCachedValues()

Reset any cached values. Called by owning graph by default.


function IsFastPathEnabled

SMSYSTEMEDITOR_API bool IsFastPathEnabled() const

If this node avoids the BP graph.


function IsSafeToOptimizeNodeOut

bool IsSafeToOptimizeNodeOut() const

Is it safe to optimize the node out for the current build and configuration?

Note:

This doesn't mean the node will be optimized out, but rather if it is safe to do so.


Protected Functions Documentation

function GetCorrectEntryPin

virtual SMSYSTEMEDITOR_API UEdGraphPin * GetCorrectEntryPin() const

Find the correct initial pin. Default implementation finds the 'Then' pin.


function GetCorrectNodeInstanceOutputPin

virtual SMSYSTEMEDITOR_API UEdGraphPin * GetCorrectNodeInstanceOutputPin(
    USMGraphK2Node_FunctionNode_NodeInstance * InInstance
) const

Find the expected output pin of the connected instance. Default returns 'Then' pin.


Private Attributes Documentation

variable bFastPathEnabledCached

TOptional< bool > bFastPathEnabledCached;