diff --git a/front/src/Phaser/Game/GameScene.ts b/front/src/Phaser/Game/GameScene.ts index 32085030..9192e533 100644 --- a/front/src/Phaser/Game/GameScene.ts +++ b/front/src/Phaser/Game/GameScene.ts @@ -142,6 +142,7 @@ export class GameScene extends DirtyScene implements CenterListener { MapPlayersByKey : Map = new Map(); Map!: Phaser.Tilemaps.Tilemap; Layers!: Array; + interactiveLayers!: Array; Objects!: Array; mapFile!: ITiledMap; groups: Map; @@ -416,6 +417,8 @@ export class GameScene extends DirtyScene implements CenterListener { //add layer on map this.Layers = new Array(); + this.interactiveLayers = new Array(); + let depth = -2; for (const layer of this.gameMap.layersIterator) { if (layer.type === 'tilelayer') { @@ -431,7 +434,7 @@ export class GameScene extends DirtyScene implements CenterListener { this.loadNextGame(exitUrl); } } else { - this.addInteractiveLayer(layer); + this.addInteractiveLayer(this.createInteractiveLayer(layer).setDepth(depth)); } } if (layer.type === 'objectgroup' && layer.name === 'floorLayer') { @@ -1147,8 +1150,12 @@ ${escapedMessage} this.Layers.push(Layer); } - addInteractiveLayer(layer: ITiledMapLayer): void { - new InteractiveLayer(this, layer); + createInteractiveLayer(layer: ITiledMapLayer): InteractiveLayer { + return new InteractiveLayer(this, layer); + } + + addInteractiveLayer(layer: InteractiveLayer): void { + this.interactiveLayers.push(layer); } createCollisionWithPlayer() { diff --git a/front/src/Phaser/Map/InteractiveLayer.ts b/front/src/Phaser/Map/InteractiveLayer.ts index 06b875c9..2b6b7dff 100644 --- a/front/src/Phaser/Map/InteractiveLayer.ts +++ b/front/src/Phaser/Map/InteractiveLayer.ts @@ -34,7 +34,6 @@ export class InteractiveLayer extends Container { this.updateListener = this.update.bind(this); scene.events.addListener("update", this.updateListener); - this.setDepth(-2); this.scene.add.existing(this); }