import { Component } from "../../hierarchy_object/Component"; import type { ComponentConstructor } from "../../hierarchy_object/ComponentConstructor"; import type { GameObject } from "../../hierarchy_object/GameObject"; import type { ReadonlyVector2 } from "../../math/ReadonlyVector2"; /** * controller for 2D track camera * * it requires a camera component to control * * it supports pixel perfect and smooth damping * * * disallow multiple component * * require components: `Camera` */ export declare class TrackCameraController extends Component { readonly disallowMultipleComponent: boolean; readonly requiredComponents: ComponentConstructor[]; private _trackTarget; private readonly _targetOffset; private _cameraDistanceOffset; private _pixelPerfectUnit; private _pixelPerfect; private _smoothTrack; private _smoothLambda; start(): void; private readonly _tempVector; update(): void; /** * set the target to track * @param target */ setTrackTarget(target: GameObject): void; /** * target position offset (default: (0, 0)) */ get targetOffset(): ReadonlyVector2; /** * target position offset (default: (0, 0)) */ set targetOffset(value: ReadonlyVector2); /** * z distance from camera to target (default: 20) */ get cameraDistanceOffset(): number; /** * z distance from camera to target (default: 20) */ set cameraDistanceOffset(value: number); /** * pixel perfect unit (default: 1) */ get pixelPerfectUnit(): number; /** * pixel perfect unit (default: 1) */ set pixelPerfectUnit(value: number); /** * use pixel perfect (default: false) */ get pixelPerfect(): boolean; /** * use pixel perfect (default: false) */ set pixelPerfect(value: boolean); /** * use smooth damp to track (default: false) */ get smoothTrack(): boolean; /** * use smooth damp to track (default: false) */ set smoothTrack(value: boolean); /** * smooth damp lambda (default: 6) * * higher value make camera movement more faster */ get smoothLambda(): number; /** * smooth damp lambda (default: 6) * * higher value make camera movement more faster */ set smoothLambda(value: number); }