tengri/Content/Movement/State/S_MovementContext.ts

44 lines
880 B
TypeScript

// Movement/State/S_MovementContext.ts
import type { E_SurfaceType } from '#root/Movement/Surface/E_SurfaceType.ts';
import type { Float } from '#root/UE/Float.ts';
/**
* Movement context data for state determination
* Contains all information needed to determine movement state
*
* @category Movement State
*/
export interface S_MovementContext {
/**
* Whether character is on walkable ground
*/
IsGrounded: boolean;
/**
* Type of surface character is on
*/
SurfaceType: E_SurfaceType;
/**
* Magnitude of player input (0-1)
*/
InputMagnitude: Float;
/**
* Current horizontal movement speed (cm/s)
*/
CurrentSpeed: Float;
/**
* Current vertical velocity (cm/s)
* Positive = moving up, Negative = falling
*/
VerticalVelocity: Float;
/**
* Whether character is blocked by collision
*/
IsBlocked: boolean;
}