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;