phaser4-rex-plugins
Version:
163 lines (132 loc) • 4.54 kB
TypeScript
import BaseShapes from '../shapes/BaseShapes';
// import * as Phaser from 'phaser';
export default RoundRectangleProgress;
declare namespace RoundRectangleProgress {
type ValueChangeCallbackType = (
newValue: number,
oldValue: number,
circularProgress: RoundRectangleProgress
) => void;
type CornerRadiusType = {
x: number,
y: number,
convex: boolean
};
interface IRadiusConfig {
tl?: (number | { x?: number, y?: number }),
tr?: (number | { x?: number, y?: number }),
bl?: (number | { x?: number, y?: number }),
br?: (number | { x?: number, y?: number }),
x?: number,
y?: number,
}
type OrientationTypes = 0 | 1 | 'x' | 'y' | 'h' | 'v' | 'horizontal' | 'vertical' | 'left-to-right' | 'top-to-bottom';
interface IConfig {
x?: number, y?: number,
width?: number, height?: number,
radius?: number | IRadiusConfig |
({
radius?: (number | IRadiusConfig),
iteration?: number
}),
trackColor?: string | number,
trackStrokeThickness?: number,
trackStrokeColor?: string | number,
barColor?: string | number,
rtl?: boolean,
orientation?: OrientationTypes,
value?: number,
easeValue?: {
duration?: number,
ease?: string
},
valuechangeCallback: ValueChangeCallbackType,
}
namespace Events {
type ValueChangeCallbackType = (
newValue: number,
oldValue: number,
circularProgress: RoundRectangleProgress
) => void;
}
}
declare class RoundRectangleProgress extends BaseShapes {
constructor(
scene: Phaser.Scene,
config?: RoundRectangleProgress.IConfig
);
constructor(
scene: Phaser.Scene,
x?: number, y?: number,
width?: number, height?: number,
radiusConfig?: number | RoundRectangleProgress.IRadiusConfig |
({
radius?: (number | RoundRectangleProgress.IRadiusConfig),
iteration?: number
}),
config?: RoundRectangleProgress.IConfig
);
constructor(
scene: Phaser.Scene,
x?: number, y?: number,
width?: number, height?: number,
radiusConfig?: number | RoundRectangleProgress.IRadiusConfig |
({
radius?: (number | RoundRectangleProgress.IRadiusConfig),
iteration?: number
}),
barColor?: string | number,
value?: number,
config?: RoundRectangleProgress.IConfig
);
getValue(min?: number, max?: number): number;
setValue(value?: number, min?: number, max?: number): this;
addValue(inc?: number, min?: number, max?: number): this;
value: number;
easeValueTo(value?: number, min?: number, max?: number): this;
stopEaseValue(): this;
setEaseValueDuration(duration: number): this;
setEaseValueFunction(ease: string): this;
setTrackColor(color?: number): this;
trackColor: number;
setTrackStroke(
lineWidth?: number,
color?: number
): this;
trackStrokeThickness: number;
trackStrokeColor: number;
setBarColor(color?: number): this;
barColor: number;
setRTL(enable?: boolean): this;
rtl: boolean;
setOrientation(orientation: RoundRectangleProgress.OrientationTypes): this;
orientation: number;
setIteration(iteration: number): this;
iteration: number;
setRadius(
value: number | RoundRectangleProgress.IRadiusConfig
): this;
radius: number;
setRadiusTL(
value: number | RoundRectangleProgress.IRadiusConfig
): this;
radiusTL: number;
setRadiusTR(
value: number | RoundRectangleProgress.IRadiusConfig
): this;
radiusTR: number;
setRadiusBL(
value: number | RoundRectangleProgress.IRadiusConfig
): this;
radiusBL: number;
setRadiusBR(
value: number | RoundRectangleProgress.IRadiusConfig
): this;
radiusBR: number;
readonly cornerRadius: {
tl: RoundRectangleProgress.CornerRadiusType,
tr: RoundRectangleProgress.CornerRadiusType,
bl: RoundRectangleProgress.CornerRadiusType,
br: RoundRectangleProgress.CornerRadiusType,
};
}