SMSystem
Description
The primary run-time module for Logic Driver. This is included in shipping builds.
Namespaces
Classes
Types
Functions
|
Name |
|
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnStateMachineInitializedSignature , class USMInstance * , Instance ) |
|
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnStateMachineStartedSignature , class USMInstance * , Instance ) |
|
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnStateMachineUpdatedSignature , class USMInstance * , Instance , float , DeltaSeconds ) |
|
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnStateMachineStoppedSignature , class USMInstance * , Instance ) |
|
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnStateMachineShutdownSignature , class USMInstance * , Instance ) |
|
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnStateMachineTransitionTakenSignature , class USMInstance * , Instance , struct FSMTransitionInfo , Transition ) |
|
DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnStateMachineStateChangedSignature , class USMInstance * , Instance , struct FSMStateInfo , NewState , struct FSMStateInfo , PreviousState ) |
|
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnStateMachineStateStartedSignature , class USMInstance * , Instance , struct FSMStateInfo , State ) |
|
DECLARE_DELEGATE_OneParam(FOnStateMachineInstanceInitializedAsync , USMInstance * ) |
|
DECLARE_DELEGATE(FOnReferencesReplicated ) |
|
DECLARE_LOG_CATEGORY_EXTERN(LogLogicDriver , Log , All ) |
|
DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN(TEXT("SMNodeInstances") , STAT_NodeInstances , STATGROUP_LogicDriver , SMSYSTEM_API ) |
|
DECLARE_DELEGATE_TwoParams(FOnCompilerLogSignature , ESMCompilerLogType , const FString & ) |
|
DECLARE_DELEGATE_SevenParams(FOnCompilerLogPropertySignature , const FName & , int32 , const FString & , ESMCompilerLogType , bool , bool , const USMNodeInstance * ) |
|
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnStateBeginSignature , class USMStateInstance_Base * , StateInstance ) |
|
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnStateUpdateSignature , class USMStateInstance_Base * , StateInstance , float , DeltaSeconds ) |
|
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnStateEndSignature , class USMStateInstance_Base * , StateInstance ) |
|
DECLARE_DELEGATE_OneParam(FOnStateMachineComponentInitializedAsync , USMStateMachineComponent * ) |
|
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnTransitionEnteredSignature , class USMTransitionInstance * , TransitionInstance ) |
Defines
|
Name |
|
LD_PLUGIN_NAME |
|
LOGICDRIVER_RUNTIME_MODULE_NAME |
|
GRAPH_PROPERTY_EVAL_CONDUIT_INIT |
|
GRAPH_PROPERTY_EVAL_CONDUIT_TRANS_CHECK |
|
INITIALIZE_NODE_FUNCTION_HANDLER() |
|
INITIALIZE_EXPOSED_FUNCTIONS(Handler) |
|
EXECUTE_EXPOSED_FUNCTIONS(Handler, ...) |
|
LD_LOG_VERBOSE(FMT, ...) |
|
LD_LOG_INFO(FMT, ...) |
|
LD_LOG_WARNING(FMT, ...) |
|
LD_LOG_ERROR(FMT, ...) |
|
GET_NODE_STRUCT_VALUE(StructType, StructVariable) |
|
GET_NODE_DEFAULT_VALUE_DIF_VAR(StructType, InstanceVariable, StructVariable) |
|
GET_NODE_DEFAULT_VALUE(StructType, Variable) |
|
SET_NODE_DEFAULT_VALUE_DIF_VAR(StructType, InstanceVariable, StructVariable, Value) |
|
SET_NODE_DEFAULT_VALUE(StructType, Variable, Value) |
|
GRAPH_PROPERTY_EVAL_ANY |
|
GRAPH_PROPERTY_EVAL_ON_START |
|
GRAPH_PROPERTY_EVAL_ON_UPDATE |
|
GRAPH_PROPERTY_EVAL_ON_END |
|
GRAPH_PROPERTY_EVAL_ON_ROOT_SM_START |
|
GRAPH_PROPERTY_EVAL_ON_ROOT_SM_STOP |
|
SM_ACTIVE_TIME_NOT_SET |
Types Documentation
enum
ESMLogType
Enumerator |
Value |
Description |
Note |
|
|
Warning |
|
|
Error |
|
|
Generic logging enum.
enum
ESMNetworkConfigurationType
Enumerator |
Value |
Description |
SM_Client |
|
|
SM_Server |
|
|
SM_ClientAndServer |
|
|
enum
ESMExposedFunctionExecutionType
Enumerator |
Value |
Description |
SM_Graph |
|
|
SM_NodeInstance |
|
|
SM_None |
|
|
enum
ESMConditionalEvaluationType
Enumerator |
Value |
Description |
SM_Graph |
|
|
SM_NodeInstance |
|
|
SM_AlwaysFalse |
|
|
SM_AlwaysTrue |
|
|
enum
ESMExecutionEnvironment
Enumerator |
Value |
Description |
EditorExecution |
|
This node is running for an editor state machine. This is generally only valid during editor time construction scripts. Use this to allow the construction script to set default values during compile instead of recalculating values during run-time. |
When running with Editor Execution, only default values entered into public properties from the state machine graph will be available. Connecting a variable to a public property within the state machine graph will not evaluate until run-time. Additionally, the owning SMInstance will not be available at editor time since that is the class being compiled.
To configure editor construction script settings, go under Project Settings -> Logic Driver -> Editor Node Construction Script Setting. |
| GameExecution | | This node is running in a simulation or game. |
enum
ESMValidEditorNode
Enumerator |
Value |
Description |
IsValidEditorNode |
|
This is a valid UEdGraphNode obtained during editor design time. |
IsNotValidEditorNode |
|
This is not a valid UEdGraphNode which means execution is most likely running from a new instantiation or a development run-time. |
Enumerates UEdGraphNode validity.
enum
ESMCompilerLogType
Enumerator |
Value |
Description |
Note |
|
An informational message. |
Warning |
|
Warn of an issue but still allow the blueprint to compile. |
Error |
|
An error will prevent the blueprint from compiling. |
enum
ESMThreadMode
Enumerator |
Value |
Description |
Blocking |
|
Run single threaded blocking in the game thread. |
Async |
|
Run asynchronous out of the game thread. |
enum
ESMTransactionType
Enumerator |
Value |
Description |
SM_Unknown |
|
|
SM_Transition |
|
|
SM_State |
|
|
SM_FullSync |
|
|
SM_Start |
|
|
SM_Stop |
|
|
SM_Initialize |
|
|
SM_Shutdown |
|
|
enum
ESMOptionalBool
Enumerator |
Value |
Description |
Unset |
0 |
|
IsFalse |
|
|
IsTrue |
|
|
Represents an optional bool which may not be set and is supported by the editor UI.
Functions Documentation
function
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(
FOnStateMachineInitializedSignature ,
class USMInstance * ,
Instance
)
function
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(
FOnStateMachineStartedSignature ,
class USMInstance * ,
Instance
)
function
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(
FOnStateMachineUpdatedSignature ,
class USMInstance * ,
Instance ,
float ,
DeltaSeconds
)
function
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(
FOnStateMachineStoppedSignature ,
class USMInstance * ,
Instance
)
function
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(
FOnStateMachineShutdownSignature ,
class USMInstance * ,
Instance
)
function
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(
FOnStateMachineTransitionTakenSignature ,
class USMInstance * ,
Instance ,
struct FSMTransitionInfo ,
Transition
)
function
DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams
DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(
FOnStateMachineStateChangedSignature ,
class USMInstance * ,
Instance ,
struct FSMStateInfo ,
NewState ,
struct FSMStateInfo ,
PreviousState
)
function
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(
FOnStateMachineStateStartedSignature ,
class USMInstance * ,
Instance ,
struct FSMStateInfo ,
State
)
function
DECLARE_DELEGATE_OneParam
DECLARE_DELEGATE_OneParam(
FOnStateMachineInstanceInitializedAsync ,
USMInstance *
)
function
DECLARE_DELEGATE
DECLARE_DELEGATE(
FOnReferencesReplicated
)
function
DECLARE_LOG_CATEGORY_EXTERN
DECLARE_LOG_CATEGORY_EXTERN(
LogLogicDriver ,
Log ,
All
)
function
DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN
DECLARE_DWORD_ACCUMULATOR_STAT_EXTERN(
TEXT("SMNodeInstances") ,
STAT_NodeInstances ,
STATGROUP_LogicDriver ,
SMSYSTEM_API
)
function
DECLARE_DELEGATE_TwoParams
DECLARE_DELEGATE_TwoParams(
FOnCompilerLogSignature ,
ESMCompilerLogType ,
const FString &
)
function
DECLARE_DELEGATE_SevenParams
DECLARE_DELEGATE_SevenParams(
FOnCompilerLogPropertySignature ,
const FName & ,
int32 ,
const FString & ,
ESMCompilerLogType ,
bool ,
bool ,
const USMNodeInstance *
)
function
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(
FOnStateBeginSignature ,
class USMStateInstance_Base * ,
StateInstance
)
function
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(
FOnStateUpdateSignature ,
class USMStateInstance_Base * ,
StateInstance ,
float ,
DeltaSeconds
)
function
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(
FOnStateEndSignature ,
class USMStateInstance_Base * ,
StateInstance
)
function
DECLARE_DELEGATE_OneParam
DECLARE_DELEGATE_OneParam(
FOnStateMachineComponentInitializedAsync ,
USMStateMachineComponent *
)
function
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(
FOnTransitionEnteredSignature ,
class USMTransitionInstance * ,
TransitionInstance
)
Macro Documentation
define
LD_PLUGIN_NAME
#define LD_PLUGIN_NAME "SMSystem"
define
LOGICDRIVER_RUNTIME_MODULE_NAME
#define LOGICDRIVER_RUNTIME_MODULE_NAME "SMSystem"
define
GRAPH_PROPERTY_EVAL_CONDUIT_INIT
#define GRAPH_PROPERTY_EVAL_CONDUIT_INIT 100
define
GRAPH_PROPERTY_EVAL_CONDUIT_TRANS_CHECK
#define GRAPH_PROPERTY_EVAL_CONDUIT_TRANS_CHECK 101
define
INITIALIZE_NODE_FUNCTION_HANDLER
#define INITIALIZE_NODE_FUNCTION_HANDLER(
) if (FSMExposedNodeFunctions* ExposedNodeFunctions = LD::ExposedFunctions::FindExposedNodeFunctions(this)) \
{ \
check(ExposedNodeFunctions->LOGICDRIVER_FUNCTION_HANDLER_TYPE.Num() > 0); \
FunctionHandlers = &ExposedNodeFunctions->LOGICDRIVER_FUNCTION_HANDLER_TYPE[0]; \
FunctionHandlers->ExposedFunctionsOwner = ExposedNodeFunctions; \
}
define
INITIALIZE_EXPOSED_FUNCTIONS
#define INITIALIZE_EXPOSED_FUNCTIONS(
Handler
) if (FunctionHandlers) \
{ \
LD::ExposedFunctions::InitializeGraphFunctions(*(&static_cast<LOGICDRIVER_FUNCTION_HANDLER_TYPE*>(FunctionHandlers)->Handler), GetOwningInstance(), GetNodeInstance()); \
}
define
EXECUTE_EXPOSED_FUNCTIONS
#define EXECUTE_EXPOSED_FUNCTIONS(
Handler,
...
) if (FunctionHandlers) \
{ \
LD::ExposedFunctions::ExecuteGraphFunctions(*&static_cast<LOGICDRIVER_FUNCTION_HANDLER_TYPE*>(FunctionHandlers)->Handler, GetOwningInstance(), GetNodeInstance(), ##__VA_ARGS__); \
}
define
LD_LOG_VERBOSE
#define LD_LOG_VERBOSE(
FMT,
...
) UE_LOG(LogLogicDriver, Verbose, (FMT), ##__VA_ARGS__)
define
LD_LOG_INFO
#define LD_LOG_INFO(
FMT,
...
) UE_LOG(LogLogicDriver, Log, (FMT), ##__VA_ARGS__)
define
LD_LOG_WARNING
#define LD_LOG_WARNING(
FMT,
...
) UE_LOG(LogLogicDriver, Warning, (FMT), ##__VA_ARGS__)
define
LD_LOG_ERROR
#define LD_LOG_ERROR(
FMT,
...
) UE_LOG(LogLogicDriver, Error, (FMT), ##__VA_ARGS__)
define
GET_NODE_STRUCT_VALUE
#define GET_NODE_STRUCT_VALUE(
StructType,
StructVariable
) if (StructType* StructOwner = GetOwningNodeAs<StructType>()) \
{ \
return StructOwner->StructVariable; \
} \
define
GET_NODE_DEFAULT_VALUE_DIF_VAR
#define GET_NODE_DEFAULT_VALUE_DIF_VAR(
StructType,
InstanceVariable,
StructVariable
) GET_NODE_STRUCT_VALUE(StructType, StructVariable) \
return InstanceVariable;
define
GET_NODE_DEFAULT_VALUE
#define GET_NODE_DEFAULT_VALUE(
StructType,
Variable
) GET_NODE_DEFAULT_VALUE_DIF_VAR(StructType, Variable, Variable);
define
SET_NODE_DEFAULT_VALUE_DIF_VAR
#define SET_NODE_DEFAULT_VALUE_DIF_VAR(
StructType,
InstanceVariable,
StructVariable,
Value
) InstanceVariable = Value; \
if (StructType* StructOwner = GetOwningNodeAs<StructType>()) \
{ \
StructOwner->StructVariable = Value; \
}
define
SET_NODE_DEFAULT_VALUE
#define SET_NODE_DEFAULT_VALUE(
StructType,
Variable,
Value
) SET_NODE_DEFAULT_VALUE_DIF_VAR(StructType, Variable, Variable, Value);
define
GRAPH_PROPERTY_EVAL_ANY
#define GRAPH_PROPERTY_EVAL_ANY 0
define
GRAPH_PROPERTY_EVAL_ON_START
#define GRAPH_PROPERTY_EVAL_ON_START 1
define
GRAPH_PROPERTY_EVAL_ON_UPDATE
#define GRAPH_PROPERTY_EVAL_ON_UPDATE 2
define
GRAPH_PROPERTY_EVAL_ON_END
#define GRAPH_PROPERTY_EVAL_ON_END 3
define
GRAPH_PROPERTY_EVAL_ON_ROOT_SM_START
#define GRAPH_PROPERTY_EVAL_ON_ROOT_SM_START 4
define
GRAPH_PROPERTY_EVAL_ON_ROOT_SM_STOP
#define GRAPH_PROPERTY_EVAL_ON_ROOT_SM_STOP 5
define
SM_ACTIVE_TIME_NOT_SET
#define SM_ACTIVE_TIME_NOT_SET -1.f