phaser3-rex-plugins
Version:
81 lines (71 loc) • 2 kB
TypeScript
import Base from '../base/Base';
declare namespace AIO {
/**
* Animation mode names for the spinner.
*/
type AnimationModeType = 'arrow' | 'audio' | 'ball' | 'bars' | 'box' | 'clock' |
'cube' | 'dots' | 'facebook' | 'grid' | 'hearts' | 'ios' | 'oribit' | 'oval' |
'pie' | 'puff' | 'radio' | 'rings' | 'spinner';
/**
* Direction values for the animation.
*/
type DirectionType = 0 | 'right' | 1 | 'down' | 2 | 'left' | 3 | 'up';
/**
* Reset configuration for AIO.
*/
interface IResetFromConfig extends Base.IResetFromConfig {
/**
* Direction for the animation.
*/
direction?: DirectionType
}
/**
* Configuration options for creating an AIO spinner.
*/
interface IConfig extends Base.IConfig {
/**
* Initial animation mode.
*/
animationMode?: AnimationModeType,
}
}
/**
* Spinner that can switch between multiple animation modes.
*/
declare class AIO extends Base {
/**
* Create an AIO spinner.
*
* @param scene - The Phaser.Scene that owns this spinner.
* @param config - Configuration options for the spinner.
*/
constructor(
scene: Phaser.Scene,
config?: AIO.IConfig
)
/**
* Set the animation mode.
*
* @param mode - The animation mode to use.
* @param config - Reset configuration.
* @returns This AIO instance.
*/
setAnimationMode(
mode?: AIO.AnimationModeType,
config?: AIO.IResetFromConfig
): this;
/**
* Pick a random animation mode.
*
* @param config - Reset configuration.
* @returns This AIO instance.
*/
setRandomAnimationMode(
config?: AIO.IResetFromConfig
): this;
/**
* Current animation mode.
*/
animationMode: AIO.AnimationModeType;
}
export default AIO;