This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Movement

Overview

Setup

Refer to the Unit Set Up Guide in Get Started section.

Features

1 - Mover Context

Image showing the TargetingHandler component, as seen in the Entity Inspector.

Targeting Handler Overview

Functionality


Setting Up Your Targeting Handler


API

// UnitOutgoingEventBus
void UnitPossessed(AZ::EntityId possessingController) override;

// MoverContextIncomingEvents
void ChangeMovementMode(AZStd::string targetMoveMode) override;

void RevertToLastMovementMode() override;

void ChangeRotationMode(AZStd::string targetRotateMode) override;

void RevertToLastRotationMode() override;

void ChangeGroundingMode(AZStd::string targetRotateMode) override;

void RevertToLastGroundingMode() override;

void SetMoveInputAxis(AZStd::string axisName, float axisValue) override;

AZ::Vector2* GetMoveInputAxis() override { return &rawMoveInput; };

AZ::Vector3* GetModifiedMoveInputAxis() override { return &modifiedMoveInput; };

AZ::Vector3* GetGroundMoveInputAxis() override { return &groundedMoveInput; };

void SetGroundNormal(AZ::Vector3 newNormal) override;

AZ::Vector3* GetGroundNormal() override { return &groundNormal; };

AZ::Vector3* GetSlopeDirection() override { return &slopeDir; };

float* GetSlopeAngle() override { return &slopeAngle; };

float* GetMaxWalkAngle() override { return &maxWalkAngle; };

void SetMoverState(AZStd::string stateName, AZ::u32 stateValue) override;

AZ::u32 GetMoverState(AZStd::string stateName) override;

// Local Methods
virtual void ModifyInputAxis();

virtual void GroundInputAxis();

Extending Targeting Handler

2 - Movers

Image showing a Mover component, as seen in the Entity Inspector.

Targeting Handler Overview

Functionality


Setting Up Your Targeting Handler


API

// MoverContextOutgoingEventBus
void MovementModeChanged(AZStd::string modeName) override;
void RotationModeChanged(AZStd::string modeName) override;

//Local Methods
virtual void ToggleMovement(bool on);
virtual void ToggleRotation(bool on);

virtual void HandleMovement();
virtual void HandleRotation();

virtual bool CheckCanOperate();

Extending Targeting Handler

2.1 - 3D Free Mover

Image showing a 3D Free Mover component, as seen in the Entity Inspector.

Targeting Handler Overview

Functionality


Setting Up Your Targeting Handler


API


Extending Targeting Handler

2.2 - 3D Strafe Mover

Image showing the TargetingHandler component, as seen in the Entity Inspector.

Targeting Handler Overview

Functionality


Setting Up Your Targeting Handler


API


Extending Targeting Handler

2.3 - Slide Mover

Image showing the TargetingHandler component, as seen in the Entity Inspector.

Targeting Handler Overview

Functionality


Setting Up Your Targeting Handler


API


Extending Targeting Handler

2.4 - Side Scroller Mover

Image showing the TargetingHandler component, as seen in the Entity Inspector.

Targeting Handler Overview

Functionality


Setting Up Your Targeting Handler


API


Extending Targeting Handler

2.5 - Grid Step Mover

Image showing the TargetingHandler component, as seen in the Entity Inspector.

Targeting Handler Overview

Functionality


Setting Up Your Targeting Handler


API


Extending Targeting Handler

3 - Grounders

Image showing a Grounder component, as seen in the Entity Inspector.

Targeting Handler Overview

Functionality


Setting Up Your Targeting Handler


API

// MoverContextOutgoingEventBus
void GroundingModeChanged(AZStd::string modeName) override;
        
// Local Methods
virtual void ToggleGrounder(bool on);
virtual void HandleGrounding();
virtual void GroundingStateChange(AZ::u32 newState);

virtual bool CheckCanOperate();

Extending Targeting Handler

3.1 - 3DFree Grounder

Image showing a 3D Physics Ray Grounder, as seen in the Entity Inspector.

Targeting Handler Overview

Functionality


Setting Up Your Targeting Handler


API


Extending Targeting Handler