import ComponentBase from '../../utils/componentbase/ComponentBase'; export default DragRotate; declare namespace DragRotate { /** * DragRotate configuration. */ interface IConfig { /** * Origin game object. */ origin?: Phaser.GameObjects.GameObject, /** * Origin x. */ x?: number, /** * Origin y. */ y?: number, /** * Maximum radius. */ maxRadius?: number, /** * Minimum radius. */ minRadius?: number, /** * True to enable. */ enable?: boolean, } namespace Evenets { /** * Drag callback. */ type DragCallbackType = ( /** * DragRotate component. */ dragRotate: DragRotate ) => void; } } /** * Drag rotate input component. */ declare class DragRotate extends ComponentBase { /** * Create a DragRotate component. * @param scene - The Scene to which this component belongs. * @param config - DragRotate configuration. */ constructor( scene: Phaser.Scene, config?: DragRotate.IConfig ); /** * Enable or disable dragging. * @param enable - True to enable. * @returns This instance. */ setEnable(enable?: boolean): this; /** * Toggle enable state. * @returns This instance. */ toggleEnable(): this; /** * True if enabled. */ enable: boolean; /** * Set origin position. * @param x - Origin x. * @param y - Origin y. * @returns This instance. */ setOrigin(x: number, y: number): this; /** * Set origin position from a pointer-like object. * @param pointer - Pointer with x and y. * @returns This instance. */ setOrigin(pointer: { x: number, y: number }): this; /** * Set origin from a game object. * @param gameObject - Origin game object. * @returns This instance. */ setOrigin(gameObject?: Phaser.GameObjects.GameObject): this; /** * Origin x. */ x: number; /** * Origin y. */ y: number; /** * Origin game object. */ originGameObject: Phaser.GameObjects.GameObject; /** * Set radius limits. * @param maxRadius - Maximum radius. * @param minRadius - Minimum radius. * @returns This instance. */ setRadius(maxRadius: number, minRadius?: number): this; /** * Maximum radius. */ maxRadius: number; /** * Minimum radius. */ minRadius: number; /** * Delta rotation in radians. */ readonly deltaRotation: number; /** * Delta angle in radians. */ readonly deltAangle: number; /** * True if rotating clockwise. */ readonly cw: boolean; /** * True if rotating counter-clockwise. */ readonly ccw: boolean; /** * Cancel dragging. * @returns This instance. */ dragCancel(): this; /** * Active pointer. */ readonly pointer: Phaser.Input.Pointer; /** * True if dragging. */ readonly isDrag: boolean; /** * Current state value. */ readonly state: number; }