phaser3-rex-plugins
Version:
95 lines (87 loc) • 2.39 kB
TypeScript
import ConfirmDialog from './ConfirmDialog';
import Dialog from '../dialog/Dialog';
export default ConfirmAction;
declare namespace ConfirmAction {
/**
* Return data from a confirm action result.
*/
type ReturnDataType = {
/**
* Index of the clicked button.
*/
index: number,
/**
* Text of the clicked button.
*/
text: string,
};
/**
* Callback invoked when a confirm dialog is created.
*/
type OnCreateDialogCallbackType = (
/**
* Created confirm dialog instance.
*/
dialog: ConfirmDialog
) => void;
/**
* Configuration options for running a confirm action.
*/
interface IConfig {
/**
* Existing dialog instance to reuse.
*/
dialog?: ConfirmDialog,
/**
* Dialog style configuration used when creating a new dialog.
*/
style?: ConfirmDialog.IConfig,
/**
* Content reset configuration applied before showing.
*/
content?: ConfirmDialog.IResetDisplayContentConfig,
/**
* Modal behavior configuration.
*/
modal?: Dialog.IModalConfig,
/**
* Callback invoked when dialog is created.
*/
onCreateDialog?: OnCreateDialogCallbackType,
/**
* Confirm callback function.
*/
confirm?: Function,
/**
* Scope used when calling confirm callback.
*/
confirmScope?: Object,
/**
* Index treated as confirm button.
*/
confirmButtonIndex?: number,
/**
* Cancel callback function.
*/
cancel?: Function,
/**
* Scope used when calling cancel callback.
*/
cancelScope?: Object,
/**
* Index treated as cancel button.
*/
cancelButtonIndex?: number,
}
}
/**
* Show a confirm dialog and wire confirm/cancel callbacks.
*
* @param scene - Scene used to create and show dialog.
* @param config - Confirm action configuration.
* @returns Confirm dialog instance.
*/
declare function ConfirmAction(
scene: Phaser.Scene,
config: ConfirmAction.IConfig
): ConfirmDialog;