44 lines
880 B
TypeScript
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;
|
|
}
|