@petkoneo/phaser3-rex-plugins
Version:
55 lines (42 loc) • 1.38 kB
TypeScript
import ComponentBase from '../../utils/componentbase/ComponentBase.js';
export default Button;
declare namespace Button {
interface IConfig {
mode?: 0 | 1 | 'pointerdown' | 'pointerup' | 'press' | 'release',
clickInterval?: number,
threshold?: number,
enable?: boolean,
eventEmitter?: boolean | Phaser.Events.EventEmitter
}
namespace Events {
type ClickCallbackType =
(
button: Button,
gameObject: Phaser.GameObjects.GameObject,
pointer: Phaser.Input.Pointer,
event: Phaser.Types.Input.EventData
) => void;
type EnableCallbackType = (
button: Button,
gameObject: Phaser.GameObjects.GameObject,
) => void;
type DisableCallbackType = (
button: Button,
gameObject: Phaser.GameObjects.GameObject,
) => void;
}
}
declare class Button extends ComponentBase {
constructor(
gameObject: Phaser.GameObjects.GameObject,
config?: Button.IConfig
)
setEnable(enable?: boolean): this;
toggleEnable(): this;
enable: boolean;
setMode(
mode?: 0 | 1 | 'pointerdown' | 'press' | 'pointerup' | 'release'
): this;
setClickInterval(interval: number): this;
setDragThreshold(distance: number): this;
}