@petkoneo/phaser3-rex-plugins
Version:
73 lines (53 loc) • 1.57 kB
TypeScript
// import * as Phaser from 'phaser';
import FaceContainer from '../utils/FaceContainer';
import Card from '../card/Card';
import Image from '../image/Image';
import RenderTexture from '../rendertexture/RenderTexture';
export default Carousel;
declare namespace Carousel {
interface IConfigRoll {
duration?: number,
ease?: string,
delay?: number,
}
interface IConfig {
x?: number,
y?: number,
faces?: (Card | Image | RenderTexture)[],
face?: number,
rtl?: boolean,
width?: number,
height?: number,
faceWidth?: number,
faceSpace?: number,
z?: number,
zEnd?: number,
roll?: IConfigRoll | false,
}
class Roll extends Phaser.Events.EventEmitter {
toNext(duration?: number): this;
toPrevious(duration?: number): this;
toRight(duration?: number): this;
toLeft(duration?: number): this;
to(faceIndex: number, duration?: number): this;
stop(): this;
setDuration(duration: number): this;
duration: this;
setEase(ease: string): this
ease: string;
readonly isRunning: boolean;
}
namespace Events {
type RollCompleteCallbackType = () => void;
}
}
declare class Carousel extends FaceContainer {
constructor(
scene: Phaser.Scene,
config?: Carousel.IConfig
);
faces: (Card | Image | RenderTexture)[];
setFace(face: number): this;
face: number;
roll: Carousel.Roll | undefined;
}