phaser3-rex-plugins
Version:
111 lines (98 loc) • 2.59 kB
TypeScript
import ComponentBase from '../../utils/componentbase/ComponentBase';
declare namespace MouseWheelZoom {
/**
* Configuration options for mouse-wheel zoom control.
*/
interface IConfig {
/**
* Target camera, camera index, or camera name.
*/
camera?: string | number | Phaser.Cameras.Scene2D.Camera,
/**
* Zoom delta applied per mouse-wheel step.
*/
zoomStep?: number,
/**
* Zoom easing duration in milliseconds.
*/
easeDuration?: number,
/**
* Minimum allowed zoom value.
*/
minZoom?: number,
/**
* Maximum allowed zoom value.
*/
maxZoom?: number,
/**
* Set to true to enable mouse-wheel zoom.
*/
enable?: boolean,
}
}
/**
* Camera controller that zooms camera by mouse wheel input.
*/
declare class MouseWheelZoom extends ComponentBase {
/**
* Create a mouse-wheel zoom controller.
*
* @param scene - Scene that owns this controller.
* @param config - Optional controller configuration.
*/
constructor(
scene: Phaser.Scene,
config?: MouseWheelZoom.IConfig
);
/**
* Enable or disable mouse-wheel zoom.
*
* @param enable - True to enable, false to disable.
* @returns This controller instance.
*/
setEnable(enable?: boolean): this;
/**
* Current enabled state.
*/
enable: boolean;
/**
* Set target camera instance.
*
* @param camera - Camera to control.
* @returns This controller instance.
*/
setCamera(camera?: Phaser.Cameras.Scene2D.Camera): this;
/**
* Current target camera.
*/
camera?: Phaser.Cameras.Scene2D.Camera;
/**
* Reset camera zoom to default level.
*
* @returns This controller instance.
*/
resetZoomLevel(): this;
/**
* Set minimum zoom constraint.
*
* @param value - Minimum zoom value.
* @returns This controller instance.
*/
setMinZoom(value?: number): this;
/**
* Minimum zoom constraint.
*/
minZoom: number;
/**
* Set maximum zoom constraint.
*
* @param value - Maximum zoom value.
* @returns This controller instance.
*/
setMaxZoom(value?: number): this;
/**
* Maximum zoom constraint.
*/
maxZoom: number;
}
export default MouseWheelZoom;