phaser3-rex-plugins
Version:
150 lines (135 loc) • 3.6 kB
TypeScript
import ComponentBase from '../../utils/componentbase/ComponentBase';
export default OpenCloseTransition;
declare namespace OpenCloseTransition {
/**
* Transition callback.
*/
type TransitCallbackType = (
/**
* Target game object.
*/
gameObject: Phaser.GameObjects.GameObject,
/**
* Duration in ms.
*/
duration: number
) => void;
/**
* OpenCloseTransition configuration.
*/
interface IConfig {
/**
* Transition durations.
*/
duration?: {
/**
* Transit-in duration in ms.
*/
in?: number,
/**
* Transit-out duration in ms.
*/
out?: number,
},
/**
* Transit-in callback.
*/
transitIn?: TransitCallbackType,
/**
* Transit-out callback.
*/
transitOut?: TransitCallbackType,
/**
* True to allow only one open/close.
*/
oneShot?: boolean,
/**
* True to destroy on close.
*/
destroy?: boolean,
/**
* True if opened at start.
*/
opened?: boolean,
}
}
/**
* Open/close transition behavior for a game object.
*/
declare class OpenCloseTransition extends ComponentBase {
/**
* Create an OpenCloseTransition behavior.
* @param gameObject - Target game object.
* @param config - OpenCloseTransition configuration.
*/
constructor(
gameObject: Phaser.GameObjects.GameObject,
config?: OpenCloseTransition.IConfig
);
/**
* Set transit-in duration.
* @param duration - Duration in ms.
* @returns This instance.
*/
setTransitInTime(duration: number): this;
/**
* Transit-in duration in ms.
*/
transitInTime: number;
/**
* Set transit-out duration.
* @param duration - Duration in ms.
* @returns This instance.
*/
setTransitOutTime(duration: number): this;
/**
* Transit-out duration in ms.
*/
transitOutTime: number;
/**
* Set transit-in callback.
* @param callback - Transit callback.
* @returns This instance.
*/
setTransitInCallback(
callback?: OpenCloseTransition.TransitCallbackType
): this;
/**
* Transit-in callback.
*/
transitInCallback: OpenCloseTransition.TransitCallbackType;
/**
* Set transit-out callback.
* @param callback - Transit callback.
* @returns This instance.
*/
setTransitOutCallback(
callback?: OpenCloseTransition.TransitCallbackType
): this;
/**
* Transit-out callback.
*/
transitOutCallback: OpenCloseTransition.TransitCallbackType;
/**
* Request to open.
* @param openEventData - Event data for opening.
* @param duration - Override duration in ms.
* @returns This instance.
*/
requestOpen(openEventData?: any, duration?: number): this;
/**
* Hook called on open.
*/
onOpen(): void;
/**
* Request to close.
* @param closeEventData - Event data for closing.
* @param duration - Override duration in ms.
* @returns This instance.
*/
requestClose(closeEventData?: any, duration?: number): this;
/**
* Hook called on close.
*/
onClose(): void;
}