first step on loading a tileset from a script

This commit is contained in:
GRL 2021-05-20 17:09:10 +02:00
parent 2f9cc393a7
commit 3506063e65
9 changed files with 276 additions and 3 deletions

View file

@ -1,6 +1,5 @@
import type {ITiledMap, ITiledMapLayer, ITiledMapTileLayer} from "../Map/ITiledMap";
import { flattenGroupLayersMap } from "../Map/LayersFlattener";
import {iframeListener} from "../../Api/IframeListener";
import TilemapLayer = Phaser.Tilemaps.TilemapLayer;
export type PropertyChangeCallback = (newValue: string | number | boolean | undefined, oldValue: string | number | boolean | undefined, allProps: Map<string, string | boolean | number>) => void;
@ -151,4 +150,11 @@ export class GameMap {
return undefined;
}
public addTerrain(terrain : Phaser.Tilemaps.Tileset): void {
console.log('Add');
for (const phaserLayer of this.phaserLayers) {
phaserLayer.tileset.push(terrain);
}
}
}

View file

@ -500,7 +500,7 @@ export class GameScene extends DirtyScene implements CenterListener {
if (!this.room.isDisconnected()) {
this.connect();
}
console.log('display');
document.addEventListener('visibilitychange', this.onVisibilityChangeCallback);
}
@ -910,6 +910,13 @@ ${escapedMessage}
iframeListener.sendUserTagList({list: this.connection.getAllTag()});
}))
this.iframeSubscriptionList.push(iframeListener.tilesetLoaderStream.subscribe((tileset) => {
//this.load.tilemapTiledJSON('logo', tileset.imgUrl);
this.load.image('logo', tileset.imgUrl);
this.Terrains.push(this.Map.addTilesetImage(tileset.name, tileset.imgUrl, tileset.tilewidth, tileset.tileheight, tileset.margin, tileset.spacing));
this.gameMap.addTerrain(this.Terrains[this.Terrains.length - 1]);
}))
}
private setPropertyLayer(layerName: string, propertyName: string, propertyValue: string | number | boolean | undefined): void {