phaser3-rex-plugins
Version:
158 lines (146 loc) • 3.55 kB
TypeScript
// import * as Phaser from 'phaser';
import OnePointerTracer from '../onepointertracer/OnePointerTracer';
export default Tap;
declare namespace Tap {
/**
* Tap configuration.
*/
export interface IConfig extends OnePointerTracer.IConfig {
/**
* Hold time in ms.
*/
time?: number,
/**
* Interval between taps in ms.
*/
tapInterval?: number,
/**
* Drag threshold in pixels.
*/
threshold?: number,
/**
* Tap offset in pixels.
*/
tapOffset?: number,
/**
* Exact tap count.
*/
taps?: number | undefined,
/**
* Minimum taps.
*/
minTaps?: number | undefined,
/**
* Maximum taps.
*/
maxTaps?: number | undefined,
}
namespace Events {
/**
* Tap callback.
*/
type TapCallbackType = (
/**
* Tap component.
*/
tap: Tap,
/**
* Target game object.
*/
gameObject: Phaser.GameObjects.GameObject,
/**
* Last pointer input.
*/
lastPointer: Phaser.Input.Pointer
) => void;
}
}
/**
* Tap gesture component.
*/
declare class Tap extends OnePointerTracer {
/**
* Create a Tap component.
* @param gameObject - Target game object or scene.
* @param config - Tap configuration.
*/
constructor(
gameObject: Phaser.GameObjects.GameObject | Phaser.Scene,
config?: Tap.IConfig
);
/**
* Set hold time.
* @param time - Hold time in ms.
* @returns This instance.
*/
setHoldTime(time: number): this;
/**
* Hold time in ms.
*/
holdTime: number;
/**
* Set tap interval.
* @param time - Interval in ms.
* @returns This instance.
*/
setTapInterval(time: number): this;
/**
* Tap interval in ms.
*/
tapInterval: number;
/**
* Set drag threshold.
* @param distance - Threshold distance in pixels.
* @returns This instance.
*/
setDragThreshold(distance: number): this;
/**
* Drag threshold in pixels.
*/
dragThreshold: number;
/**
* Set tap offset.
* @param distance - Offset distance in pixels.
* @returns This instance.
*/
setTapOffset(distance: number): this;
/**
* Tap offset in pixels.
*/
tapOffset: number;
/**
* Set maximum tap count.
* @param amount - Max tap count.
* @returns This instance.
*/
setMaxTaps(amount: number): this;
/**
* Maximum tap count.
*/
maxTaps: number;
/**
* Set minimum tap count.
* @param amount - Min tap count.
* @returns This instance.
*/
setMaxTaps(amount: number): this;
/**
* Minimum tap count.
*/
minTaps: number;
/**
* Set tap count range.
* @param minTaps - Minimum tap count.
* @param maxTaps - Maximum tap count.
* @returns This instance.
*/
setTaps(minTaps: number, maxTaps: number): this;
/**
* True if tapping is in progress.
*/
readonly isTapping: boolean;
/**
* True if a tap has occurred.
*/
readonly isTapped: boolean;
}