phaser3-rex-plugins
Version:
111 lines (99 loc) • 3.25 kB
TypeScript
import TitleLabel from '../../titlelabel/TitleLabel';
import BuildLabelConfig from './BuildLabelConfig';
import CreateBackground from './CreateBackground';
import CreateText from './CreateText';
import { GeneralCreateGameObjectCallbackType } from './GeneralCreateGameObjectCallbackType';
export default BuildTitleLabelConfig;
declare namespace BuildTitleLabelConfig {
/**
* Configuration options for building a title label config.
*/
interface IConfig extends BuildLabelConfig.IConfig {
/**
* Inner background style configuration.
*/
innerBackground?: CreateBackground.IConfig,
/**
* Separator style configuration.
*/
separator?: CreateBackground.IConfig,
/**
* Title text style configuration.
*/
title?: CreateText.IConfig,
/**
* Title wrapping mode.
*/
wrapTitle?: boolean | 0 | 1 | 2 | 'none' | 'word' | 'char' | 'character',
/**
* Set to true to auto-adjust title font size.
*/
adjustTitleFontSize?: boolean,
/**
* Set to true to expand title width.
*/
expandTitleWidth?: boolean,
/**
* Set to true to expand title height.
*/
expandTitleHeight?: boolean,
space?: {
left?: number,
right?: number,
top?: number,
bottom?: number,
innerLeft?: number,
innerRight?: number,
innerTop?: number,
innerBottom?: number,
title?: number,
titleLeft?: number,
titleRight?: number,
separator?: number,
separatorLeft?: number,
separatorRight?: number,
text?: number,
textLeft?: number,
textRight?: number,
icon?: number,
iconTop?: number,
iconBottom?: number,
iconLeft?: number,
iconRight?: number,
actionTop?: number,
actionBottom?: number,
actionLeft?: number,
actionRight?: number,
},
}
/**
* Factory callbacks used to create title-label sub-objects.
*/
interface ICreators extends BuildLabelConfig.ICreators {
/**
* Inner background creator.
*/
innerBackground?: GeneralCreateGameObjectCallbackType,
/**
* Separator creator.
*/
separator?: GeneralCreateGameObjectCallbackType,
/**
* Title creator.
*/
title?: GeneralCreateGameObjectCallbackType,
}
}
/**
* Build a normalized title-label configuration from style configs and creators.
*
* @param scene - Scene that owns created objects.
* @param config - Optional source configuration.
* @param creators - Optional factory callbacks.
* @returns Normalized title-label configuration.
*/
declare function BuildTitleLabelConfig(
scene: Phaser.Scene,
config?: BuildTitleLabelConfig.IConfig,
creators?: BuildTitleLabelConfig.ICreators
): TitleLabel.IConfig;