@rjfwhite/random-lib
Version:
Core engine for MML
48 lines • 1.41 kB
TypeScript
import { AttachmentRule, Behavior } from "./types";
export type AnimationState = "idle" | "moving" | "jump" | "fall" | "dead";
export type CharacterState = {
currentPosition: {
x: number;
y: number;
z: number;
};
previousPosition: {
x: number;
y: number;
z: number;
};
currentAnimState: AnimationState;
isMoving: boolean;
};
export declare class CharacterBehavior extends Behavior {
private walkSpeed;
private jumpForce;
private destination;
private characterState;
private hasReachedDestination;
private destinationThreshold;
private isGrounded;
private groundCheckDistance;
static getAttachmentRules(): AttachmentRule[];
onAttach(): void;
onDetach(): void;
private createDefaultState;
private updateStateFromElement;
private updateAnimationState;
private ensureDynamicPhysics;
private checkGrounded;
/**
* Public API: Apply movement to this character
* This is the unified movement method that other behaviors can call
*/
applyMovement(movementVector: {
x: number;
y: number;
z: number;
}, deltaTime: number, speed?: number): void;
private updateDestination;
private getDistanceToDestination;
private moveTowardsDestination;
tick(deltaTime: number): void;
}
//# sourceMappingURL=CharacterBehavior.d.ts.map