Create a new layer composition.
Optional
name: string = 'Untitled'Optional non-unique name of the layer composition. Defaults to "Untitled" if not specified.
A read-only array of Layer sorted in the order they will be rendered.
A read-only array of boolean values, matching LayerComposition#layerList. True means the layer is rendered, false means it's skipped.
Fire an event, all additional arguments are passed on to the event listener.
Name of event to fire.
Optional
arg1: anyFirst argument that is passed to the event handler.
Optional
arg2: anySecond argument that is passed to the event handler.
Optional
arg3: anyThird argument that is passed to the event handler.
Optional
arg4: anyFourth argument that is passed to the event handler.
Optional
arg5: anyFifth argument that is passed to the event handler.
Optional
arg6: anySixth argument that is passed to the event handler.
Optional
arg7: anySeventh argument that is passed to the event handler.
Optional
arg8: anyEighth argument that is passed to the event handler.
Self for chaining.
Finds a layer inside this composition by its ID. Null is returned, if nothing is found.
An ID of the layer to find.
The layer corresponding to the specified ID. Returns null if layer is not found.
Finds a layer inside this composition by its name. Null is returned, if nothing is found.
The name of the layer to find.
The layer corresponding to the specified name. Returns null if layer is not found.
Gets index of the opaque part of the supplied layer in the LayerComposition#layerList.
A Layer to find index of.
The index of the opaque part of the specified layer, or -1 if it is not part of the composition.
Gets index of the semi-transparent part of the supplied layer in the LayerComposition#layerList.
A Layer to find index of.
The index of the semi-transparent part of the specified layer, or -1 if it is not part of the composition.
Test if there are any handlers bound to an event name.
The name of the event to test.
True if the object has handlers bound to the specified event name.
Inserts a layer (both opaque and semi-transparent parts) at the chosen index in the LayerComposition#layerList.
A Layer to add.
Insertion position.
Inserts an opaque part of the layer (non semi-transparent mesh instances) at the chosen index in the LayerComposition#layerList.
A Layer to add.
Insertion position.
Inserts a semi-transparent part of the layer at the chosen index in the LayerComposition#layerList.
A Layer to add.
Insertion position.
Detach an event handler from an event. If callback is not provided then all callbacks are unbound from the event, if scope is not provided then all events with the callback will be unbound.
Optional
name: stringName of the event to unbind.
Optional
callback: HandleEventCallbackFunction to be unbound.
Optional
scope: anyScope that was used as the this when the event is fired.
Self for chaining.
const handler = () => {};
obj.on('test', handler);
obj.off(); // Removes all events
obj.off('test'); // Removes all events called 'test'
obj.off('test', handler); // Removes all handler functions, called 'test'
obj.off('test', handler, this); // Removes all handler functions, called 'test' with scope this
Attach an event handler to an event.
Name of the event to bind the callback to.
Function that is called when event is fired. Note the callback is limited to 8 arguments.
Optional
scope: any = ...Object to use as 'this' when the event is fired, defaults to current this.
Can be used for removing event in the future.
Attach an event handler to an event. This handler will be removed after being fired once.
Name of the event to bind the callback to.
Function that is called when event is fired. Note the callback is limited to 8 arguments.
Optional
scope: any = ...Object to use as 'this' when the event is fired, defaults to current this.
Adds a layer (both opaque and semi-transparent parts) to the end of the LayerComposition#layerList.
A Layer to add.
Adds part of the layer with opaque (non semi-transparent) objects to the end of the LayerComposition#layerList.
A Layer to add.
Adds part of the layer with semi-transparent objects to the end of the LayerComposition#layerList.
A Layer to add.
Removes a layer (both opaque and semi-transparent parts) from LayerComposition#layerList.
A Layer to remove.
Removes an opaque part of the layer (non semi-transparent mesh instances) from LayerComposition#layerList.
A Layer to remove.
Removes a transparent part of the layer from LayerComposition#layerList.
A Layer to remove.
Layer Composition is a collection of Layer that is fed to Scene#layers to define rendering order.