phaser3-rex-plugins
Version:
134 lines (122 loc) • 3.21 kB
TypeScript
// import * as Phaser from 'phaser';
import Label from '../label/Label';
export default Toast;
declare namespace Toast {
interface IConfig extends Label.IConfig {
/**
* Duration configuration.
*/
duration?: {
/**
* Transit-in duration in ms.
*/
in?: number,
/**
* Display duration in ms.
*/
hold?: number,
/**
* Transit-out duration in ms.
*/
out?: number,
},
/**
* Transit-in mode or custom callback.
*/
transitIn?: 0 | 1 | 'popUp' | 'fadeIn' |
((toast: Toast, duration: number) => void),
/**
* Transit-out mode or custom callback.
*/
transitOut?: 0 | 1 | 'scaleDown' | 'fadeOut' |
((toast: Toast, duration: number) => void),
}
}
/**
* Toast notification label with queued messages and transitions.
* @remarks Uses timed transit-in, hold, and transit-out animations.
*/
declare class Toast extends Label {
/**
* Create a toast.
* @param scene - The Scene to which this object belongs.
* @param config - Configuration options.
*/
constructor(
scene: Phaser.Scene,
config?: Toast.IConfig
);
/**
* Show a message string.
* @param message - Message text.
* @returns This instance.
*/
showMessage(
message: string
): this;
/**
* Show a message using a callback.
* @param message - Callback invoked to configure the toast.
* @returns This instance.
*/
showMessage(
message: (toast: Toast) => void
): this;
/**
* True if a message is currently playing.
*/
readonly isShowingMessage: boolean;
/**
* Remove all queued messages.
* @returns This instance.
*/
removeAllMessages(): this;
/**
* Transit-in duration in ms.
*/
transitInTime: number;
/**
* Set transit-in duration.
* @param time - Duration in ms.
* @returns This instance.
*/
setTransitInTime(time: number): this;
/**
* Display duration in ms.
*/
displayTime: number;
/**
* Set display duration.
* @param time - Duration in ms.
* @returns This instance.
*/
setDisplayTime(time: number): this;
/**
* Transit-out duration in ms.
*/
transitOutTime: number;
/**
* Set transit-out duration.
* @param time - Duration in ms.
* @returns This instance.
*/
setTransitOutTime(time: number): this;
/**
* Set transit-in callback or mode.
* @param callback - Mode or custom callback.
* @returns This instance.
*/
setTransitInCallback(
callback: 0 | 1 | 'popUp' | 'fadeIn' |
((toast: Toast, duration: number) => void)
): this;
/**
* Set transit-out callback or mode.
* @param callback - Mode or custom callback.
* @returns This instance.
*/
setTransitOutCallback(
callback: 0 | 1 | 'scaleDown' | 'fadeOut' |
((toast: Toast, duration: number) => void)
): this;
}