phaser3-rex-plugins
Version:
122 lines (112 loc) • 3.48 kB
TypeScript
import DropDownList from '../../dropdownlist/DropDownList';
import BuildLabelConfig from './BuildLabelConfig';
import CreateBackground from './CreateBackground';
import Scrollable from '../scrollable/Scrollable';
export default BuildListConfig;
declare namespace BuildListConfig {
/**
* Configuration options for building a dropdown list config.
*/
interface IConfig extends DropDownList.IConfig {
/**
* Label style configuration.
*/
label?: BuildLabelConfig.IConfig,
/**
* Button style configuration.
*/
button?: BuildLabelConfig.IConfig,
/**
* Slider track style configuration.
*/
track?: CreateBackground.IConfig,
/**
* Slider thumb style configuration.
*/
thumb?: CreateBackground.IConfig,
list?: {
/**
* Scroller behavior configuration.
*/
scroller?: Scrollable.IScrollerConfig;
/**
* Mouse wheel scroller behavior configuration.
*/
mouseWheelScroller?: Scrollable.IMouseWheelScroller;
/**
* Set to true to adapt thumb size to content.
*/
sliderAdaptThumbSize?: boolean;
/**
* Ease-in duration in milliseconds.
*/
easeIn?: number;
/**
* Ease-out duration in milliseconds.
*/
easeOut?: number;
/**
* Set to true to use wrapped layout.
*/
wrap?: boolean;
/**
* Maximum panel height.
*/
maxHeight?: number;
/**
* Panel width.
*/
width?: number;
/**
* Panel height.
*/
height?: number;
/**
* Parent alignment mode.
*/
alignParent?: DropDownList.AlignParentType;
/**
* Panel expand direction.
*/
expandDirection?: DropDownList.ExpandDirectionType;
/**
* Bounds rectangle for panel placement.
*/
bounds?: Phaser.Geom.Rectangle;
/**
* List spacing configuration.
*/
space?: DropDownList.SpaceType;
/**
* Set to true to allow dragging list panel.
*/
draggable?: boolean;
},
}
/**
* Factory callbacks used to create list-related objects.
*/
interface ICreators extends BuildLabelConfig.ICreators {
/**
* Label creators.
*/
label?: BuildLabelConfig.ICreators,
/**
* Button creators.
*/
button?: BuildLabelConfig.ICreators,
}
}
/**
* Build a normalized dropdown list 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 dropdown list configuration.
*/
declare function BuildListConfig(
scene: Phaser.Scene,
config?: BuildListConfig.IConfig,
creators?: BuildListConfig.ICreators
): DropDownList.IConfig;