import WaitEvent from '../../waitevent/WaitEvent'; import Managers from '../Managers'; export default WaitEventManager; declare namespace WaitEventManager { interface IConfig { /** * Complete event name. */ completeEventName?: string, /** * Click target. */ clickTarget?: Phaser.Scene | Phaser.GameObjects.GameObject; /** * Click shortcut keys. */ clickShortcutKeys?: string, /** * Camera target. */ camera?: Phaser.Cameras.Scene2D.Camera } interface IWaitAnyConfig { /** * Wait time in ms. */ time?: number, /** * Wait for click. */ click?: boolean, /** * Wait for key. */ key?: string | boolean, /** * Wait for camera effect. */ camera?: string, /** * Wait for bgm complete. */ bgm?: boolean, /** * Wait for bgm2 complete. */ bgm2?: boolean, /** * Wait for sound effect complete. */ se?: boolean, /** * Wait for sound effect2 complete. */ se2?: boolean, // GameObject tween } } /** * Wait event manager for input, time, and audio/camera events. */ declare class WaitEventManager extends WaitEvent { /** * Create a wait event manager. * @param parent - Managers instance. * @param config - Configuration options. */ constructor( parent: Managers, config?: WaitEventManager.IConfig, ); /** * Set click target. * @param target - Click target. * @returns This instance. */ setClickTarget( target?: Phaser.GameObjects.GameObject | Phaser.Scene ): this; /** * Clear click target. * @returns This instance. */ clearClickTarget(): this; /** * Set click shortcut keys. * @param keys - Shortcut keys. * @returns This instance. */ setClickShortcutKeys(keys?: string): this; /** * Clear click shortcut keys. * @returns This instance. */ clearClickShortcutKeys(): this; /** * Wait for an event. * @param eventEmitter - Event emitter. * @param eventName - Event name. * @param completeNextTick - True to complete on next tick. * @returns Managers instance. */ waitEvent( eventEmitter: Phaser.Events.EventEmitter, eventName: string, completeNextTick?: boolean ): Managers; /** * Add wait complete callback. * @param callback - Callback function. * @param scope - Callback scope. * @returns This instance. */ addWaitCompleteCallback(callback: Function, scope?: Object): this; /** * Clear wait complete callbacks. * @returns This instance. */ clearWaitCompleteCallbacks(): this; /** * Wait for a duration. * @param duration - Duration in ms. * @returns Managers instance. */ waitTime(duration: number): Managers; /** * Wait for click. * @returns Managers instance. */ waitClick(): Managers; /** * Wait for key down. * @param key - Key name. * @returns Managers instance. */ waitKeyDown(key?: string): Managers; /** * Wait for tween completion. * @param goType - Game object type. * @param name - Game object name. * @param property - Property name. * @returns Managers instance. */ waitGameObjectTweenComplete( goType: string | undefined, name: string, property: string ): Managers; /** * Wait for sound effect complete. * @returns Managers instance. */ waitSoundEffectComplete(): Managers; /** * Wait for sound effect2 complete. * @returns Managers instance. */ waitSoundEffect2Complete(): Managers; /** * Wait for background music complete. * @returns Managers instance. */ waitBackgroundMusicComplete(): Managers; /** * Wait for background music2 complete. * @returns Managers instance. */ waitBackgroundMusic2Complete(): Managers; /** * Wait for camera effect complete. * @param effectName - Effect name. * @param cameraName - Camera name. * @returns Managers instance. */ waitCameraEffectComplete(effectName: string, cameraName?: string): Managers; /** * Wait for any configured condition. * @param config - Wait config. * @returns Managers instance. */ waitAny(config?: Record): Managers; }