import { Component } from "../Component"; import { System } from "../Systems/System"; import { IVector2 } from "../Types/IVector2"; export interface IRandomMovementConfig { distance: number; speed: number; maxSpeed: number; minChangeDelay: number; maxChangeDelay: number; } /** * Tried-out cloning C# code in a different way. * It doesn't really work. 3/10. */ export declare class RandomMovementComponent extends Component { static id: string; static readonly _system: typeof System; config: IRandomMovementConfig; _distance: number; _speed: number; _maxSpeed: number; _minChangeDelay: number; _maxChangeDelay: number; _distanceOverride: boolean; _speedOverride: boolean; _maxSpeedOverride: boolean; _minChangeDelayOverride: boolean; _maxChangeDelayOverride: boolean; _initialPos: IVector2; _dest: IVector2; _newDestCountdown: number; _velocity: IVector2; _smoothTime: number; distance: number; speed: number; maxSpeed: number; minChangeDelay: number; maxChangeDelay: number; constructor(_config?: IRandomMovementConfig); _initFromConfig(): void; onAttach(): void; onComponentAttached(_componentId: string, _component: Component): void; onDetach(): void; }