Navigation
API > API/Plugins > API/Plugins/Mover
Base class for all layered move logic that operates in tandem with instanced FLayeredMoveInstancedData. The logic object itself is not meant to ever be replicated, and a maximum of one instance of each logic class need ever exist on a given MoverComponent. Repeated and/or simultaneous activations of the same move on a component are represented, tracked, and replicated through instances of the FLayeredMoveInstancedData struct type that the logic class indicates in the ActiveMoveDataStructType property.
The virtual methods on this class are invoked in a special and strict pattern that guarantees AccessExecutionMoveData will return the valid data instance relevant to that function execution.
Refer to [Examples when they exist] for implementation examples
| Name | ULayeredMoveLogic |
| Type | class |
| Header File | /Engine/Plugins/Experimental/Mover/Source/Mover/Public/LayeredMoveBase.h |
| Include Path | #include "LayeredMoveBase.h" |
Syntax
UCLASS (Abstract, BlueprintType, Blueprintable)
class ULayeredMoveLogic : public UObject
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → ULayeredMoveLogic
Derived Classes
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
ULayeredMoveLogic() |
LayeredMoveBase.h |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| MoveDataType | FLayeredMoveInstancedData | LayeredMoveBase.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| CurrentInstancedData | TSharedPtr< FLayeredMoveInstancedData > | The FLayeredMoveInstancedData provided to each of the base virtual move functions, valid only for the duration a single virtual function execution. | LayeredMoveBase.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
const FLayeredMoveFinishVelocitySettings & GetFinishVelocitySettings() |
LayeredMoveBase.h | ||
UScriptStruct * GetInstancedDataType() |
LayeredMoveBase.h | ||
EMoveMixMode GetMixMode() |
LayeredMoveBase.h | ||
uint8 GetPriority() |
LayeredMoveBase.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
MoveDataT & AccessExecutionMoveData() |
Accessor to the FLayeredMoveInstancedData established for the execution of a virtual move logic function | LayeredMoveBase.h | |
bool GenerateMove
(
const FMoverTimeStep& TimeStep, |
Generate a movement that will be combined with other sources | LayeredMoveBase.h |
|
virtual bool GenerateMove_Implementation
(
const FMoverTimeStep& TimeStep, |
LayeredMoveBase.h | ||
bool IsFinished
(
const FMoverTimeStep& TimeStep, |
LayeredMoveBase.h |
|
|
virtual bool IsFinished_Implementation
(
const FMoverTimeStep& TimeStep, |
LayeredMoveBase.h | ||
void OnEnd
(
const FMoverTimeStep& TimeStep, |
Called when this move has ended | LayeredMoveBase.h |
|
virtual void OnEnd_Implementation
(
const FMoverTimeStep& TimeStep, |
LayeredMoveBase.h | ||
void OnStart
(
const FMoverTimeStep& TimeStep, |
Called when this move is initially activated | LayeredMoveBase.h |
|
virtual void OnStart_Implementation
(
const FMoverTimeStep& TimeStep, |
LayeredMoveBase.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static bool K2_GetActiveMoveData
(
ULayeredMoveLogic* MoveLogic, |
Gets active move data that is tied to this active move. | LayeredMoveBase.h |
|
static void K2_SetActiveMoveData
(
ULayeredMoveLogic* MoveLogic, |
Sets active move data that is tied to this active move. | LayeredMoveBase.h |
|
static bool ValidateMoveDataGetSet
(
const UObject* ObjectValidatingData, |
Helper function for validating move data when passing data and logic to/from BP. | LayeredMoveBase.h |