@pilotlab/lux-tools
Version:
A luxurious user experience framework, developed by your friends at Pilot.
31 lines (30 loc) • 969 B
TypeScript
import { Point, Vector } from '@pilotlab/attributes';
import { Signal } from '@pilotlab/signals';
export declare class Spring {
constructor(maximumChaseDistance?: number);
isEnabled: boolean;
private _isEnabled;
tick(): void;
leaderPosition: Vector;
chaserPosition: Vector;
chaserRotation: number;
maximumChaseDistance: number;
catchProximity: number;
chaseSpeed: Vector;
acceleration: number;
private _OFFSET_FACTOR;
readonly direction: number;
private _direction;
readonly isLeaderCaught: boolean;
private _isLeaderCaught;
private _leaderCaughtTicks;
private _WAIT_BEFORE_CATCHING_TICKS;
readonly velocityNormalized: Point;
private _progressRangeScale;
updated: Signal<Point>;
leaderCaught: Signal<Point>;
startChasing(leaderX: number, leaderY: number, chaserX: number, chaserY: number): void;
private _updateChase();
private _applyValues();
}
export default Spring;