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