Omnibus's picture
Upload 131 files
4ee4376
import * as CONST from '../../constants';
export default class layer {
constructor (options) {
this.scene = options.scene;
this.type = options.type;
this.map = options.scene.city.map;
this.events = options.scene.events;
this.visible = options.visible || true;
this.list = [];
this.map.list.forEach((cell) => {
if (!cell || !cell.tiles)
return;
if (cell.tiles[this.type])
this.list.push(cell.tiles[this.type]);
});
this.events.on(CONST.E_MAP_LAYER_HIDE, this.onHide, this);
this.events.on(CONST.E_MAP_LAYER_SHOW, this.onShow, this);
}
toggle () {
if (this.visible)
this.hide();
else
this.show();
}
hide (emitEvents = true) {
this.visible = false;
this.list.forEach((tile) => {
tile.hide();
});
if (emitEvents) this.events.emit(CONST.E_MAP_LAYER_HIDE, this.type);
}
show (emitEvents = true) {
this.visible = true;
this.list.forEach((tile) => {
tile.show();
});
if (emitEvents) this.events.emit(CONST.E_MAP_LAYER_SHOW, this.type);
}
refresh () {
this.hide();
this.show();
}
onHide (type) {
return;
}
onShow (type) {
return;
}
}