convex-pixel
Version:
The library for creating pseudo 3d interactive scenes based on webgl
72 lines • 2.58 kB
TypeScript
import { TweenMax } from "gsap";
import * as PIXI from "pixi.js";
import * as SonarUtils from "../utils/sonar";
import { CameraControllerManager } from "./controller";
import { Vector2D } from "../utils/geom";
import { BaseRoom } from "../display/base";
export interface ICameraConfig {
pov: number;
dof: number;
float: boolean;
maxXOffset: number;
maxYOffset: number;
xOffset: number;
yOffset: number;
}
export declare class Camera extends PIXI.utils.EventEmitter {
protected _room: BaseRoom;
protected _viewport: PIXI.Rectangle;
readonly room: BaseRoom<any>;
maxZoom: number;
/**
* If you change the properties of the Bound then the Sonar will
* begin to check it for changes.
*/
readonly viewport: PIXI.Rectangle;
readonly float: boolean;
/**
* Returns PointOfView
*/
readonly pov: Vector2D;
readonly dof: number;
readonly controllers: CameraControllerManager | undefined;
readonly x: number;
readonly y: number;
readonly povFactor: number;
readonly maxXOffset: number;
readonly maxYOffset: number;
readonly xOffset: number;
readonly yOffset: number;
protected _dof: number;
protected _povFactor: number;
protected _maxXOffset: number;
protected _maxYOffset: number;
protected _xOffset: number;
protected _yOffset: number;
protected _float: boolean;
protected _controllers: CameraControllerManager | undefined;
protected _sonarViewport: SonarUtils.SonarDetector;
protected _x: number;
protected _y: number;
protected _tweenPivot: TweenMax | undefined;
protected _tweenPOV: TweenMax | undefined;
protected _cameraPosition: Vector2D;
protected _pov: Vector2D;
protected _maxZoom: number;
constructor(_room: BaseRoom, _viewport: PIXI.Rectangle, config: ICameraConfig);
destroy(): void;
/**
* Normalize and modify the target
*/
protected normalizeCameraMove(target: Vector2D): boolean;
protected normalizeCameraPOV(target: Vector2D): void;
protected _handlerCameraMove: (target: Vector2D) => void;
protected _handlerCameraPOV: (target: Vector2D) => void;
protected _handlePivotUpdate: () => void;
protected _handlePOVUpdate: () => void;
protected _handlerCameraZoom: (zoom: number) => void;
protected _handlerCameraRotate: (rotation: number) => void;
private createControllerManager;
private removeControllerManager;
}
//# sourceMappingURL=camera.d.ts.map