Navigation
API > API/Plugins > API/Plugins/Mover
- Any movement modes registered are co-owned by the state machine
- There is always an active mode, falling back to a do-nothing 'null' mode
- Queuing a mode that is already active will cause it to exit and re-enter
- Modes only switch during simulation tick
| Name | UMovementModeStateMachine |
| Type | class |
| Header File | /Engine/Plugins/Experimental/Mover/Source/Mover/Public/MovementModeStateMachine.h |
| Include Path | #include "MovementModeStateMachine.h" |
Syntax
UCLASS (MinimalAPI)
class UMovementModeStateMachine : public UObject
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UMovementModeStateMachine
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
UMovementModeStateMachine
(
const FObjectInitializer& ObjectInitializer |
MovementModeStateMachine.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| InstantEffectsQueueLock | FTransactionallySafeRWLock | MovementModeStateMachine.h | ||
| LayeredMoveQueueLock | FTransactionallySafeRWLock | Locks for thread safety on queueing mechanisms. | MovementModeStateMachine.h | |
| ModifierCancelQueueLock | FTransactionallySafeRWLock | MovementModeStateMachine.h | ||
| ModifiersQueueLock | FTransactionallySafeRWLock | MovementModeStateMachine.h | ||
| TagCancellationRequestsLock | FTransactionallySafeRWLock | MovementModeStateMachine.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void CancelFeaturesWithTag
(
FGameplayTag TagToCancel, |
MovementModeStateMachine.h | ||
void CancelModifierFromHandle
(
FMovementModifierHandle ModifierHandle |
MovementModeStateMachine.h | ||
void ClearAllGlobalTransitions() |
MovementModeStateMachine.h | ||
void ClearAllMovementModes() |
MovementModeStateMachine.h | ||
void ClearQueuedMode() |
MovementModeStateMachine.h | ||
const UBaseMovementMode * FindMovementMode
(
FName ModeName |
MovementModeStateMachine.h | ||
const FMovementModifierBase * FindQueuedModifier
(
FMovementModifierHandle ModifierHandle |
MovementModeStateMachine.h | ||
const FMovementModifierBase * FindQueuedModifierByType
(
const UScriptStruct* ModifierType |
MovementModeStateMachine.h | ||
const UBaseMovementMode * GetCurrentMode() |
MovementModeStateMachine.h | ||
FName GetCurrentModeName() |
MovementModeStateMachine.h | ||
void OnSimulationPreRollback
(
const FMoverSyncState* InvalidSyncState, |
MovementModeStateMachine.h | ||
void OnSimulationRollback
(
const FMoverSyncState* SyncState, |
MovementModeStateMachine.h | ||
void OnSimulationTick
(
USceneComponent* UpdatedComponent, |
MovementModeStateMachine.h | ||
void QueueActiveLayeredMove
(
const TSharedPtr< FLayeredMoveInstance >& LayeredMove |
MovementModeStateMachine.h | ||
void QueueInstantMovementEffect_Internal
(
const FScheduledInstantMovementEffect& ScheduledInstantMovementEffect |
This function is meant to be used only in async mode on the physics thread, not on the game thread. | MovementModeStateMachine.h | |
void QueueLayeredMove
(
TSharedPtr< FLayeredMoveBase > Move |
MovementModeStateMachine.h | ||
FMovementModifierHandle QueueMovementModifier
(
TSharedPtr< FMovementModifierBase > Modifier |
MovementModeStateMachine.h | ||
void QueueNextMode
(
FName DesiredNextModeName, |
MovementModeStateMachine.h | ||
void RegisterGlobalTransition
(
TObjectPtr< UBaseMovementModeTransition > Transition |
MovementModeStateMachine.h | ||
void RegisterMovementMode
(
FName ModeName, |
MovementModeStateMachine.h | ||
void RegisterMovementMode
(
FName ModeName, |
MovementModeStateMachine.h | ||
void SetDefaultMode
(
FName NewDefaultModeName |
MovementModeStateMachine.h | ||
void SetModeImmediately
(
FName DesiredModeName, |
MovementModeStateMachine.h | ||
void UnregisterGlobalTransition
(
TObjectPtr< UBaseMovementModeTransition > Transition |
MovementModeStateMachine.h | ||
void UnregisterMovementMode
(
FName ModeName |
MovementModeStateMachine.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void ProcessEvents
(
const TArray< TSharedPtr< FMoverSimulationEventData > >& InEvents |
MovementModeStateMachine.h | ||
virtual void ProcessSimulationEvent
(
const FMoverSimulationEventData& EventData |
MovementModeStateMachine.h | ||
void QueueInstantMovementEffect
(
const FScheduledInstantMovementEffect& ScheduledInstantMovementEffect |
MovementModeStateMachine.h | ||
void QueueInstantMovementEffects
(
const TArray< FScheduledInstantMovementEffect >& ScheduledInstantMovementEffects |
MovementModeStateMachine.h |
Overridden from UObject
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void PostInitProperties() |
MovementModeStateMachine.h |