Skip to content

ISMGraphGeneration

Module: SMAssetTools

Public Classes

Name
struct FCreateStateNodeArgs
struct FCreateStateStackArgs
struct FCreateTransitionEdgeArgs
struct FSetNodePropertyArgs

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 bool SetNodePropertyValue(USMGraphNode_Base * InGraphNode, const FSetNodePropertyArgs & InPropertyArgs) =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.

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 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.