phaser3-rex-plugins
Version:
182 lines (166 loc) • 4.21 kB
TypeScript
// import * as Phaser from 'phaser';
import LabelBase from './Base';
import Sizer from '../sizer/Sizer';
export default Label;
declare namespace Label {
/**
* Alignment values for label children.
*/
type AlignTypes = 'left' | 'top' | 'right' | 'bottom' | 'center';
interface IConfig extends Sizer.IConfig {
/**
* Spacing configuration.
*/
space?: {
/**
* Left space.
*/
left?: number,
/**
* Right space.
*/
right?: number,
/**
* Top space.
*/
top?: number,
/**
* Bottom space.
*/
bottom?: number,
/**
* Space between icon and text/action.
*/
icon?: number,
/**
* Icon top space.
*/
iconTop?: number,
/**
* Icon bottom space.
*/
iconBottom?: number,
/**
* Icon left space.
*/
iconLeft?: number,
/**
* Icon right space.
*/
iconRight?: number,
/**
* Space between text and action.
*/
text?: number,
/**
* Action top space.
*/
actionTop?: number,
/**
* Action bottom space.
*/
actionBottom?: number,
/**
* Action left space.
*/
actionLeft?: number,
/**
* Action right space.
*/
actionRight?: number,
},
/**
* Background game object.
*/
background?: Phaser.GameObjects.GameObject,
/**
* Icon game object.
*/
icon?: Phaser.GameObjects.GameObject,
/**
* True to enable a circular icon mask.
*/
iconMask?: boolean,
/**
* True to enforce square fitting for the icon.
*/
squareFitIcon?: boolean,
/**
* Uniform icon size.
*/
iconSize?: number,
/**
* Icon width override.
*/
iconWidth?: number,
/**
* Icon height override.
*/
iconHeight?: number,
/**
* Text game object.
*/
text?: Phaser.GameObjects.GameObject,
/**
* Wrap mode for text.
*/
wrapText?: boolean | 0 | 1 | 2 | 'none' | 'word' | 'char' | 'character',
/**
* True to auto-adjust text font size.
*/
adjustTextFontSize?: boolean,
/**
* True to expand text width.
*/
expandTextWidth?: boolean,
/**
* True to expand text height.
*/
expandTextHeight?: boolean,
/**
* Action game object.
*/
action?: Phaser.GameObjects.GameObject,
/**
* True to enable a circular action mask.
*/
actionMask?: boolean,
/**
* True to enforce square fitting for the action.
*/
squareFitAction?: boolean,
/**
* Uniform action size.
*/
actionSize?: number,
/**
* Action width override.
*/
actionWidth?: number,
/**
* Action height override.
*/
actionHeight?: number,
/**
* Alignment mode for children.
*/
align?: AlignTypes,
}
interface IResetDisplayContentConfig extends LabelBase.IResetDisplayContentConfig {
}
}
/**
* Composite label with background, icon, text, and action children.
* @remarks Supports optional masks, wrap/expand text, and per-part spacing.
*/
declare class Label extends LabelBase {
/**
* Create a label.
* @param scene - The Scene to which this object belongs.
* @param config - Configuration options.
*/
constructor(
scene: Phaser.Scene,
config?: Label.IConfig
);
}