import {Container} from '@avocado/graphics'; import LayerView from './layer-view'; export default class LayersView extends Container { constructor(layers, renderer) { super(); this.layers = layers; this.layerViews = {}; this.renderer = renderer; this.layers.on('layerAdded', this.onLayerAdded, this); for (let i = 0; i < this.layers.layers.length; i++) { this.onLayerAdded(this.layers.layers[i], i); } this.layers.on('layerRemoved', this.onLayerRemoved, this); } onLayerAdded(layer, i) { const layerView = new LayerView(layer, this.renderer); this.layerViews[i] = layerView; this.addChild(layerView); } onLayerRemoved(layer, i) { const layerView = this.layerViews[i]; if (!layerView) { return; } this.removeChild(layerView); } }