Skip to content

ISMGraphGeneration¶

Module: SMAssetTools

Public Classes¶

Public Types¶

Name
enum EArrayChangeType

Public Functions¶

Name
virtual ~ISMGraphGeneration()
virtual USMGraphNode_StateNodeBase * CreateStateNode(USMBlueprint * InBlueprint, const FCreateStateNodeArgs & InStateArgs) =0
template \<typename T >
T *
CreateStateNode(USMBlueprint * InBlueprint, const FCreateStateNodeArgs & InStateArgs)
virtual USMGraphNode_TransitionEdge * CreateTransitionEdge(USMBlueprint * InBlueprint, const FCreateTransitionEdgeArgs & InTransitionArgs) =0
template \<typename T >
T *
CreateTransitionEdge(USMBlueprint * InBlueprint, const FCreateTransitionEdgeArgs & InTransitionArgs)
virtual USMStateInstance * CreateStateStackInstance(USMGraphNode_StateNode * InStateNode, const FCreateStateStackArgs & InStateStackArgs) =0
virtual USMTransitionInstance * CreateTransitionStackInstance(USMGraphNode_TransitionEdge * InTransitionEdge, const FCreateTransitionStackArgs & InTransitionStackArgs) =0
virtual bool SetNodePropertyValue(USMGraphNode_Base * InGraphNode, const FSetNodePropertyArgs & InPropertyArgs) =0
virtual bool RemoveNode(USMGraphNode_Base * InGraphNode) =0
virtual bool SetInitialState(USMGraphNode_StateNodeBase * InStateNode) =0

Public Types Documentation¶

enum EArrayChangeType¶

Enumerator Value Description
SetElement Set the value of the provided index, resizing the array to match if necessary.
RemoveElement Remove the element from the array at the provided index.
Clear Clear all elements from the array.
AddElement Append a default-constructed element to the end of the array.
InsertElement Insert a default-constructed element at PropertyIndex, shifting subsequent elements up.
DuplicateElement Duplicate the element at PropertyIndex; pin literals and wired property graphs are preserved.
MoveElement Reorder the element at PropertyIndex to TargetIndex, preserving element guids and wired graphs.

Handle array processing.


Public Functions Documentation¶

function ~ISMGraphGeneration¶

inline virtual ~ISMGraphGeneration()

function CreateStateNode¶

virtual USMGraphNode_StateNodeBase * CreateStateNode(
    USMBlueprint * InBlueprint,
    const FCreateStateNodeArgs & InStateArgs
) =0

Create a new state graph node in a blueprint.

Parameters:

InBlueprint
The blueprint to place the node.
InStateArgs
Arguments to use when creating the state.

Return: The newly created state node if successful.


function CreateStateNode¶

template <typename T >
inline T * CreateStateNode(
    USMBlueprint * InBlueprint,
    const FCreateStateNodeArgs & InStateArgs
)

function CreateTransitionEdge¶

virtual USMGraphNode_TransitionEdge * CreateTransitionEdge(
    USMBlueprint * InBlueprint,
    const FCreateTransitionEdgeArgs & InTransitionArgs
) =0

Create a new transition between two states.

Parameters:

InBlueprint
The blueprint to place the edge.
InTransitionArgs
Arguments to use to create the transition.

Return: The newly created transition edge if successful.


function CreateTransitionEdge¶

template <typename T >
inline T * CreateTransitionEdge(
    USMBlueprint * InBlueprint,
    const FCreateTransitionEdgeArgs & InTransitionArgs
)

function CreateStateStackInstance¶

virtual USMStateInstance * CreateStateStackInstance(
    USMGraphNode_StateNode * InStateNode,
    const FCreateStateStackArgs & InStateStackArgs
) =0

Create and add a state instance to a state stack.

Parameters:

InStateNode
The state node which should contain the state stack.
InStateStackArgs
The arguments to use when adding the state instance to the stack.

Return: The created state stack instance.


function CreateTransitionStackInstance¶

virtual USMTransitionInstance * CreateTransitionStackInstance(
    USMGraphNode_TransitionEdge * InTransitionEdge,
    const FCreateTransitionStackArgs & InTransitionStackArgs
) =0

Create and add a transition instance to a transition stack.

Parameters:

InTransitionEdge
The transition edge which should contain the transition stack.
InTransitionStackArgs
The arguments to use when adding the transition instance to the stack.

Return: The created transition stack instance.


function SetNodePropertyValue¶

virtual bool SetNodePropertyValue(
    USMGraphNode_Base * InGraphNode,
    const FSetNodePropertyArgs & InPropertyArgs
) =0

Set the value of a property on a graph node. This can be a state or transition. The property can be public, non-public, or a custom graph property (Such as a TextGraph).

Parameters:

InGraphNode
The graph node containing the property to modify.
InPropertyArgs
The property arguments.

Return: True if the value was set successfully.


function RemoveNode¶

virtual bool RemoveNode(
    USMGraphNode_Base * InGraphNode
) =0

Remove a graph node from its owning blueprint, breaking all connected pins.

Parameters:

InGraphNode
The graph node to remove.

Return: True if the node was removed successfully.


function SetInitialState¶

virtual bool SetInitialState(
    USMGraphNode_StateNodeBase * InStateNode
) =0

Rewire the entry node of a state graph to target a different state. Breaks any existing entry connection before creating the new one.

Parameters:

InStateNode
The state node to wire as the initial state. Must live in a USMGraph.

Return: True if the entry wiring was updated successfully.