26 lines
584 B
TypeScript
26 lines
584 B
TypeScript
import { Component } from '../core/Component.ts';
|
|
import { ComponentType } from '../core/Constants.ts';
|
|
|
|
/**
|
|
* Component for tracking entity velocity and movement speed limits.
|
|
*/
|
|
export class Velocity extends Component {
|
|
vx: number;
|
|
vy: number;
|
|
maxSpeed: number;
|
|
isLocked: boolean;
|
|
lockTimer: number;
|
|
|
|
/**
|
|
* @param vx - Initial X velocity
|
|
* @param vy - Initial Y velocity
|
|
*/
|
|
constructor(vx = 0, vy = 0) {
|
|
super(ComponentType.VELOCITY);
|
|
this.vx = vx;
|
|
this.vy = vy;
|
|
this.maxSpeed = 200;
|
|
this.isLocked = false;
|
|
this.lockTimer = 0;
|
|
}
|
|
}
|