/// import { Level } from "./level"; import { Editor } from "./editor"; import { RoadSprite } from "./asset_manager"; export interface LidarContainerI extends PIXI.Container { lidarPts?: LidarChild[]; collisionPts?: LidarChild[]; pts?: number; } export interface LidarInfoI { pts?: number; width?: number; height?: number; pos?: number; } export interface CarOptions { image?: string; lidar?: boolean; lidarInfo?: LidarInfoI; motionEngine?: any; } export interface CarInfo { readonly mx: number; readonly my: number; readonly line: number; } export interface CarSprite extends PIXI.Sprite { road?: RoadSprite; carId?: number; obstacle?: boolean; mapId?: number; lidar?: any; rotationStep?: any; mx?: number; my?: number; checkAndsetNewRoad?: any; line?: number; haveTurned?: boolean; optionalTurn?: boolean; agent?: boolean; v?: number; a?: number; yaw_rate?: number; last_a?: number; last_yaw_rate?: number; next_road?: any; turnedRandom?: any; } export interface LidarChild extends PIXI.Graphics { pt?: boolean; } export interface State { lidar?: number[][]; linear?: number[]; v?: number; a?: number; steering?: number; } export declare class Car { level: Level | Editor; core: CarSprite; lidar: LidarContainerI; motion: any; private info; constructor(level: Level | Editor, info: CarInfo, textures: any, options?: CarOptions); checkAndsetNewRoad(n_road?: RoadSprite): void; reset(): void; getState(): State; step(delta: number, action?: number | number[]): { agentCollisions: any; onRoad: any; }; createLidar(lidarOptions: LidarInfoI): void; }