phaser3-rex-plugins
Version:
145 lines (130 loc) • 3.26 kB
TypeScript
// import * as Phaser from 'phaser';
import EaseValueTaskBase from "../../utils/componentbase/tweentask/EaseValueTaskBase";
export default Flip;
declare namespace Flip {
/**
* Face identifiers.
*/
type FaceTypes = 0 | 1 | 'front' | 'back';
/**
* Face definition.
*/
type FaceDefTypes = string |
{ key?: string, frame?: string } |
((gameObject: Phaser.GameObjects.GameObject) => void);
/**
* Flip orientation identifiers.
*/
type OrientationTypes = 0 | 1 | 'x' | 'y' | 'horizontal' | 'vertical';
/**
* Flip configuration.
*/
interface IConfig {
/**
* Initial face.
*/
face?: FaceTypes,
/**
* Front face definition.
*/
front?: FaceDefTypes,
/**
* Back face definition.
*/
back?: FaceDefTypes,
/**
* Flip orientation.
*/
orientation?: OrientationTypes,
/**
* Duration in ms.
*/
duration?: number,
/**
* Delay in ms.
*/
delay?: number,
/**
* Ease name.
*/
ease?: string,
/**
* Event emitter override or true to use game object emitter.
*/
eventEmitter?: boolean | Phaser.Events.EventEmitter
}
namespace Events {
/**
* Complete callback.
*/
type CompleteCallbackType = (
/**
* Target game object.
*/
gameObject: Phaser.GameObjects.GameObject,
/**
* Flip component.
*/
flip: Flip
) => void;
}
}
/**
* Flip effect component.
*/
declare class Flip extends EaseValueTaskBase {
/**
* Create a Flip component.
* @param gameObject - Target game object.
* @param config - Flip configuration.
*/
constructor(
gameObject: Phaser.GameObjects.GameObject,
config?: Flip.IConfig
);
/**
* Flip the game object.
* @param duration - Duration in ms.
* @returns This instance.
*/
flip(duration?: number): this;
/**
* Set current face.
* @param face - Face identifier.
* @returns This instance.
*/
setFace(
face: 0 | 1 | 'front' | 'back'
): this;
/**
* Toggle current face.
* @returns This instance.
*/
toggleFace(): this;
/**
* Current face value.
*/
face: number;
/**
* Set front face.
* @param key - Texture key or callback.
* @param frame - Texture frame.
* @returns This instance.
*/
setFrontFace(
key: string |
((gameObject: Phaser.GameObjects.GameObject) => void),
frame?: string
): this;
/**
* Set back face.
* @param key - Texture key or callback.
* @param frame - Texture frame.
* @returns This instance.
*/
setBackFace(
key: string |
((gameObject: Phaser.GameObjects.GameObject) => void),
frame?: string
): this;
}