@petkoneo/phaser3-rex-plugins
Version:
103 lines (83 loc) • 2.36 kB
TypeScript
// import * as Phaser from 'phaser';
export default RoundRectangle;
declare namespace RoundRectangle {
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,
}
interface IConfig {
x?: number,
y?: number,
width?: number,
height?: number,
radius?: number | IRadiusConfig |
({
radius?: (number | IRadiusConfig),
iteration?: number
}),
color?: number,
alpha?: number,
strokeColor?: number,
strokeAlpha?: number,
strokeWidth?: number,
shape?: 0 | 'rectangle' | 1 | 'circle',
}
}
declare class RoundRectangle extends Phaser.GameObjects.Shape {
constructor(
scene: Phaser.Scene,
x?: number,
y?: number,
width?: number,
height?: number,
radiusConfig?: number | RoundRectangle.IRadiusConfig |
({
radius?: (number | RoundRectangle.IRadiusConfig),
iteration?: number
}),
fillColor?: number,
fillAlpha?: number
);
constructor(
scene: Phaser.Scene,
config?: RoundRectangle.IConfig
)
resize(width: number, height: number): this;
setIteration(iteration: number): this;
iteration: number;
setRadius(
value: number | RoundRectangle.IRadiusConfig
): this;
radius: number;
setRadiusTL(
value: number | RoundRectangle.IRadiusConfig
): this;
radiusTL: number;
setRadiusTR(
value: number | RoundRectangle.IRadiusConfig
): this;
radiusTR: number;
setRadiusBL(
value: number | RoundRectangle.IRadiusConfig
): this;
radiusBL: number;
setRadiusBR(
value: number | RoundRectangle.IRadiusConfig
): this;
radiusBR: number;
readonly cornerRadius: {
tl: RoundRectangle.CornerRadiusType,
tr: RoundRectangle.CornerRadiusType,
bl: RoundRectangle.CornerRadiusType,
br: RoundRectangle.CornerRadiusType,
};
}