phaser4-rex-plugins
Version:
149 lines (120 loc) • 3.65 kB
TypeScript
// import * as Phaser from 'phaser';
import BaseSizer from '../basesizer/BaseSizer';
import GetBoundsConfig from '../../../plugins/utils/bounds/GetBoundsConfig.js';
export default FixWidthSizer;
declare namespace FixWidthSizer {
type AlignTypes = 0 | 1 | 2 | 3 | 4 | 5 |
'left' | 'right' | 'center' | 'justify' | 'justify-left' | 'justify-right' | 'justify-center';
type PaddingTypes = GetBoundsConfig.PaddingConfigType;
interface IConfig extends BaseSizer.IConfig {
x?: number,
y?: number,
width?: number,
height?: number,
space?: {
left?: number, right?: number, top?: number, bottom?: number,
item?: number, line?: number,
indentLeftOdd?: number, indentLeftEven?: number,
indentTopOdd?: number, indentTopEven?: number,
},
rtl?: boolean,
align?: AlignTypes;
}
interface IAddConfig {
padding?: FixWidthSizer.PaddingTypes,
key?: string,
index?: number,
offsetX?: number,
offsetY?: number,
offsetOriginX?: number,
offsetOriginY?: number,
}
}
declare class FixWidthSizer extends BaseSizer {
sizerChildren: Phaser.GameObjects.GameObject[];
constructor(
scene: Phaser.Scene,
config?: FixWidthSizer.IConfig
);
constructor(
scene: Phaser.Scene,
x: number, y: number,
config?: FixWidthSizer.IConfig
);
constructor(
scene: Phaser.Scene,
x: number, y: number,
width: number, height: number,
config?: FixWidthSizer.IConfig
);
add(
gameObject: Phaser.GameObjects.GameObject,
config?: {
padding?: FixWidthSizer.PaddingTypes,
key?: string,
index?: number,
}
): this;
add(
gameObject: Phaser.GameObjects.GameObject,
padding?: FixWidthSizer.PaddingTypes,
key?: string,
index?: number
): this;
addMultiple(
gameObject: Phaser.GameObjects.GameObject[],
config?: FixWidthSizer.IAddConfig
): this;
insert(
index: number,
gameObject: Phaser.GameObjects.GameObject,
config?: {
padding?: FixWidthSizer.PaddingTypes,
key?: string,
}
): this;
insert(
index: number,
gameObject: Phaser.GameObjects.GameObject,
paddingConfig?: FixWidthSizer.PaddingTypes,
key?: string
): this;
insertAtPosition(
x: number,
y: number,
gameObject: Phaser.GameObjects.GameObject,
config?: {
padding?: FixWidthSizer.PaddingTypes,
key?: string,
}
): this;
insertAtPosition(
x: number,
y: number,
gameObject: Phaser.GameObjects.GameObject,
paddingConfig?: FixWidthSizer.PaddingTypes,
key?: string
): this;
addNewLine(): this;
remove(
gameObject: Phaser.GameObjects.GameObject,
destroyChild?: boolean
): this;
removeAll(
destroyChild?: boolean
): this;
clear(
destroyChild?: boolean
): this;
sortChildren(
callback: (childA: Phaser.GameObjects.GameObject, childB: Phaser.GameObjects.GameObject) => number
): this;
sortChildrenByData(
key: string,
descending?: boolean
): this;
sortChildrenByProperty(
key: string,
descending?: boolean
): this;
}