phaser3-rex-plugins
Version:
277 lines (254 loc) • 6.54 kB
TypeScript
import BaseShapes from '../shapes/BaseShapes';
// import * as Phaser from 'phaser';
export default CircularProgress;
declare namespace CircularProgress {
/**
* Callback fired when value changes.
* @param newValue - New value.
* @param oldValue - Previous value.
* @param circularProgress - Progress instance.
*/
type ValueChangeCallbackType = (
newValue: number,
oldValue: number,
circularProgress: CircularProgress
) => void;
interface IConfig {
/**
* Initial x position.
*/
x?: number,
/**
* Initial y position.
*/
y?: number,
/**
* Radius value.
*/
radius?: number,
/**
* Bar color.
*/
barColor?: string | number,
/**
* Bar alpha.
*/
barAlpha?: number,
/**
* Track color.
*/
trackColor?: string | number,
/**
* Track alpha.
*/
trackAlpha?: number,
/**
* Center color.
*/
centerColor?: string | number,
/**
* Center alpha.
*/
centerAlpha?: number,
/**
* Bar thickness.
*/
thickness?: number,
/**
* Start angle in radians.
*/
startAngle?: number,
/**
* True to draw anticlockwise.
*/
anticlockwise?: boolean,
/**
* Iteration count.
*/
iterations?: number,
/**
* Initial value.
*/
value?: number,
/**
* Ease configuration.
*/
easeValue?: {
/**
* Ease duration.
*/
duration?: number,
/**
* Ease function name.
*/
ease?: string
},
/**
* Value change callback.
*/
valuechangeCallback: ValueChangeCallbackType,
}
namespace Events {
/**
* Fired when value changes.
* @param newValue - New value.
* @param oldValue - Previous value.
* @param circularProgress - Progress instance.
*/
type ValueChangeCallbackType = (
newValue: number,
oldValue: number,
circularProgress: CircularProgress
) => void;
}
}
/**
* Circular progress shape with value easing support.
*/
declare class CircularProgress extends BaseShapes {
/**
* Create a circular progress.
* @param scene - The Scene to which this object belongs.
* @param config - Configuration options.
*/
constructor(
scene: Phaser.Scene,
config?: CircularProgress.IConfig
);
/**
* Create a circular progress.
* @param scene - The Scene to which this object belongs.
* @param x - The x position.
* @param y - The y position.
* @param radius - Radius value.
* @param barColor - Bar color.
* @param value - Initial value.
* @param config - Configuration options.
*/
constructor(
scene: Phaser.Scene,
x?: number, y?: number,
radius?: number,
barColor?: string | number,
value?: number,
config?: CircularProgress.IConfig
);
/**
* Current value.
*/
value: number;
/**
* Get value in a range.
* @param min - Min value.
* @param max - Max value.
* @returns Value.
*/
getValue(min?: number, max?: number): number;
/**
* Set value in a range.
* @param value - Target value.
* @param min - Min value.
* @param max - Max value.
* @returns This instance.
*/
setValue(value?: number, min?: number, max?: number): this;
/**
* Add value in a range.
* @param inc - Increment value.
* @param min - Min value.
* @param max - Max value.
* @returns This instance.
*/
addValue(inc?: number, min?: number, max?: number): this;
/**
* Ease value to a target.
* @param value - Target value.
* @param min - Min value.
* @param max - Max value.
* @returns This instance.
*/
easeValueTo(value?: number, min?: number, max?: number): this;
/**
* Stop value easing.
* @returns This instance.
*/
stopEaseValue(): this;
/**
* Set ease duration.
* @param duration - Duration in ms.
* @returns This instance.
*/
setEaseValueDuration(duration: number): this;
/**
* Set ease function.
* @param ease - Ease function name.
* @returns This instance.
*/
setEaseValueFunction(ease: string): this;
/**
* Radius value.
*/
radius: number;
/**
* Set radius.
* @param radius - Radius value.
* @returns This instance.
*/
setRadius(radius: number): this;
/**
* Track color.
*/
trackColor: string;
/**
* Set track color.
* @param trackColor - Track color.
* @returns This instance.
*/
setTrackColor(trackColor?: string | number): this;
/**
* Set bar thickness.
* @param thickness - Thickness value.
* @returns This instance.
*/
setThickness(thickness: number): this;
/**
* Bar color.
*/
barColor: string;
/**
* Set bar color.
* @param barColor - Bar color.
* @returns This instance.
*/
setBarColor(barColor?: string | number): this;
/**
* Start angle.
*/
startAngle: number;
/**
* Set start angle.
* @param startAngle - Start angle in radians.
* @returns This instance.
*/
setStartAngle(startAngle: number): this;
/**
* Anticlockwise flag.
*/
anticlockwise: boolean;
/**
* Set anticlockwise flag.
* @param anticlockwise - True to draw anticlockwise.
* @returns This instance.
*/
setAnticlockwise(anticlockwise: boolean): this;
/**
* Center color.
*/
centerColor: string;
/**
* Set center color.
* @param centerColor - Center color.
* @returns This instance.
*/
setCenterColor(centerColor?: string | number): this;
}