QtCraft API C++ classes QML types Handbook

QcPhysics::Steering Struct

struct QcPhysics::Steering

What an entity wants for one tick: wish is the horizontal movement direction (length <= 1), speed its target speed, jump jumps on ground, swims up in water or climbs, hold keeps a climber in place, keepsToEdges stops it at edges it would drop off (a sneaking player, sneakEdgeDepth), slideDrag is how it slides on slippery ground (footDrag, itemDrag, coastDrag). More...

Header: #include <common/physics/QcPhysics.h>

Public Variables

bool climbsWalls
bool hold
bool jump
bool keepsToEdges
QcVec3 push
double slideDrag
double speed
QcVec3 wish

Detailed Description

A body that climbsWalls (spiders) holds on to any wall it touches (clingsToWall) as to a ladder. push is a horizontal velocity added to this tick's move only, not kept in the body's velocity (the push of the bodies it overlaps, decision E-882): it stops with the overlap, also on ice.

Member Variable Documentation

bool Steering::climbsWalls

Holds on to any wall it touches as to a ladder (spiders).

bool Steering::hold

Keeps a climber in place.

bool Steering::jump

Jumps on the ground, swims up in a liquid, climbs.

bool Steering::keepsToEdges

On the ground, stops at edges deeper than sneakEdgeDepth instead of dropping off.

QcVec3 Steering::push

Horizontal velocity added to this tick's move only (see the struct).

double Steering::slideDrag

How the body slides on slippery ground (footDrag, itemDrag, coastDrag).

double Steering::speed

Target speed.

QcVec3 Steering::wish

Horizontal movement direction (length <= 1).