phaser3-rex-plugins
Version:
160 lines (145 loc) • 3.6 kB
TypeScript
import ComponentBase from '../../utils/componentbase/ComponentBase';
export default Slider;
declare namespace Slider {
/**
* Callback for value changes.
*/
type ValueChangeCallbackType = (newValue: number, oldValue: number) => void;
/**
* Slider configuration.
*/
interface IConfig {
/**
* End points for the slider.
*/
endPoints?: [
{ x: number, y: number },
{ x: number, y: number }
],
/**
* Initial value.
*/
value?: number,
/**
* True to enable.
*/
enable?: boolean,
/**
* Callback on value change.
*/
valuechangeCallback?: ValueChangeCallbackType,
/**
* Callback scope for value change.
*/
valuechangeCallbackScope?: Object
}
namespace Events {
/**
* Value change callback.
*/
type ValueChangeCallbackType = (newValue: number, oldValue: number) => void;
}
}
/**
* Slider input component.
*/
declare class Slider extends ComponentBase {
/**
* Create a Slider component.
* @param gameObject - Target game object.
* @param config - Slider configuration.
*/
constructor(
gameObject: Phaser.GameObjects.GameObject,
config?: Slider.IConfig
);
/**
* Enable or disable the slider.
* @param enable - True to enable.
* @returns This instance.
*/
setEnable(enable?: boolean): this;
/**
* Toggle enable state.
* @returns This instance.
*/
toggleEnable(): this;
/**
* True if enabled.
*/
enable: boolean;
/**
* Set end points by coordinates.
* @param p0x - Start x.
* @param p0y - Start y.
* @param p1x - End x.
* @param p1y - End y.
* @returns This instance.
*/
setEndPoints(
p0x: number,
p0y: number,
p1x: number,
p1y: number
): this;
/**
* Set end points by point objects.
* @param p0 - Start point.
* @param p1 - End point.
* @returns This instance.
*/
setEndPoints(
p0: { x: number, y: number },
p1: { x: number, y: number }
): this;
/**
* Set end points by array.
* @param points - End points array.
* @returns This instance.
*/
setEndPoints(
points: [
{ x: number, y: number },
{ x: number, y: number }
]
): this;
/**
* Get value within optional range.
* @param min - Minimum value.
* @param max - Maximum value.
* @returns Current value.
*/
getValue(min?: number, max?: number): number;
/**
* Current value.
*/
value: number;
/**
* Set current value.
* @param newValue - Value to set.
* @param min - Minimum value.
* @param max - Maximum value.
* @returns This instance.
*/
setValue(
newValue: number,
min?: number,
max?: number
): this;
/**
* Add to current value.
* @param inc - Increment value.
* @param min - Minimum value.
* @param max - Maximum value.
* @returns This instance.
*/
addValue(
inc: number,
min?: number,
max?: number
): this;
/**
* True if dragging is in progress.
*/
readonly isDragging: boolean;
}