phaser3-rex-plugins
Version:
244 lines (216 loc) • 6.57 kB
TypeScript
import GOManager from '../gomanager/GOManager';
export default LayerManager;
declare namespace LayerManager {
interface ILayerConfig {
/**
* Layer name.
*/
name?: string,
/**
* Uniform scroll factor.
*/
scrollFactor?: number,
/**
* Scroll factor x.
*/
scrollFactorX?: number,
/**
* Scroll factor y.
*/
scrollFactorY?: number,
/**
* Camera name.
*/
cameraName?: string
}
type LayerConfigType = string | ILayerConfig;
interface IConfig {
/**
* Layer definitions.
*/
layers?: LayerConfigType[];
/**
* Root layer.
*/
rootLayer?: Phaser.GameObjects.Layer;
/**
* Create game object callback.
*/
createGameObject?: GOManager.CreateGameObjectCallbackType,
}
interface IBobBase extends GOManager.IBobBase {
/**
* Camera assigned to the layer.
*/
camera?: Phaser.Cameras.Scene2D.Camera
}
type LayerNameType = string | Phaser.GameObjects.GameObject
}
/**
* Layer manager built on GOManager.
*/
declare class LayerManager extends GOManager {
/**
* Create a layer manager.
* @param scene - The Scene to which this object belongs.
* @param config - Configuration options.
*/
constructor(
scene: Phaser.Scene,
config?: LayerManager.IConfig,
)
/**
* Create a layer manager with a single layer config.
* @param scene - The Scene to which this object belongs.
* @param config - Layer config.
*/
constructor(
scene: Phaser.Scene,
config?: LayerManager.LayerConfigType,
)
/**
* Set the root layer.
* @param rootLayer - Root layer.
* @returns This instance.
*/
setRootLayer(rootLayer?: Phaser.GameObjects.Layer): this;
/**
* Get bob(s) for a layer.
* @param layer - Layer name or object.
* @param out - Optional output array.
* @returns Bob or bob array.
*/
get(
layer: string | Phaser.GameObjects.GameObject,
out?: LayerManager.IBobBase[]
): LayerManager.IBobBase | LayerManager.IBobBase[];
/**
* Get a layer object.
* @param layer - Layer name or object.
* @returns Layer object.
*/
getLayer(
layer: string | Phaser.GameObjects.GameObject
): Phaser.GameObjects.Layer;
/**
* Get all layers.
* @param out - Optional output array.
* @returns Layer array.
*/
getLayers(
out?: Phaser.GameObjects.GameObject[]
): Phaser.GameObjects.Layer[];
/**
* Add game objects to a layer.
* @param layer - Layer name or object.
* @param gameObjects - Game object(s) to add.
* @returns This instance.
*/
addToLayer(
layer: string | Phaser.GameObjects.GameObject,
gameObjects: Phaser.GameObjects.GameObject | Phaser.GameObjects.GameObject[]
): this;
/**
* Add game objects to the bottom layer.
* @param gameObjects - Game object(s) to add.
* @returns This instance.
*/
addToBottomLayer(
gameObjects: Phaser.GameObjects.GameObject | Phaser.GameObjects.GameObject[]
): this;
/**
* Add game objects to the top layer.
* @param gameObjects - Game object(s) to add.
* @returns This instance.
*/
addToTopLayer(
gameObjects: Phaser.GameObjects.GameObject | Phaser.GameObjects.GameObject[]
): this;
/**
* Remove a game object from a layer.
* @param layer - Layer name or object.
* @param gameObject - Game object to remove.
* @param addToScene - True to add back to scene.
* @returns This instance.
*/
removeFromLayer(
layer: string | Phaser.GameObjects.GameObject,
gameObject: Phaser.GameObjects.GameObject,
addToScene?: boolean
): this;
/**
* Clear a layer.
* @param layer - Layer name or object.
* @param destroyChildren - True to destroy children.
* @returns This instance.
*/
clearLayer(
layer: string | Phaser.GameObjects.GameObject,
destroyChildren?: boolean
): this;
/**
* Bring a layer to the top.
* @param layer - Layer name or object.
* @returns This instance.
*/
bringLayerToTop(
layer: string | Phaser.GameObjects.GameObject
): this;
/**
* Send a layer to the back.
* @param layer - Layer name or object.
* @returns This instance.
*/
sendLayerToBack(
layer: string | Phaser.GameObjects.GameObject
): this;
/**
* Move a layer below another.
* @param layer - Layer name or object.
* @param baseLayerName - Base layer name or object.
* @returns This instance.
*/
moveLayerBelow(
layer: string | Phaser.GameObjects.GameObject,
baseLayerName: string | Phaser.GameObjects.GameObject
): this;
/**
* Move a layer above another.
* @param layer - Layer name or object.
* @param baseLayerName - Base layer name or object.
* @returns This instance.
*/
moveLayerAbove(
layer: string | Phaser.GameObjects.GameObject,
baseLayerName: string | Phaser.GameObjects.GameObject
): this;
/**
* Set camera for a layer.
* @param layer - Layer name or object.
* @param cameraName - Camera name or instance.
* @returns This instance.
*/
setCamera(
layer: string | Phaser.GameObjects.GameObject,
cameraName?: string | number | Phaser.Cameras.Scene2D.Camera
): this;
/**
* Get camera for a layer.
* @param layer - Layer name or object.
* @returns Camera or null.
*/
getCamera(
layer: string | Phaser.GameObjects.GameObject
): Phaser.Cameras.Scene2D.Camera | null;
/**
* Set scroll factor for a layer.
* @param layer - Layer name or object.
* @param scrollFactorX - Scroll factor x.
* @param scrollFactorY - Scroll factor y.
* @returns This instance.
*/
setScrollFactor(
layer: string | Phaser.GameObjects.GameObject,
scrollFactorX: number, scrollFactorY?: number
): this;
}