Added warning to Tile.destroy

This commit is contained in:
Uwe Oestermeier 2019-05-31 16:10:46 +02:00
parent f39b7ae14a
commit 107529f844
4 changed files with 32 additions and 12 deletions

4
dist/iwmlib.js vendored
View File

@ -3232,7 +3232,9 @@
keepOnStage(velocity, collision = 0.5) { keepOnStage(velocity, collision = 0.5) {
let stagePolygon = this.containerPolygon; let stagePolygon = this.containerPolygon;
if (!stagePolygon) return // UO: since keepOnStage is called in nextVelocity we need to
// ensure a return value
if (!stagePolygon) return { x: 0, y: 0}
let polygon = this.polygon; let polygon = this.polygon;
let bounced = this.bouncing(); let bounced = this.bouncing();
if (bounced) { if (bounced) {

15
dist/iwmlib.pixi.js vendored
View File

@ -6396,7 +6396,9 @@
keepOnStage(velocity, collision = 0.5) { keepOnStage(velocity, collision = 0.5) {
let stagePolygon = this.containerPolygon; let stagePolygon = this.containerPolygon;
if (!stagePolygon) return // UO: since keepOnStage is called in nextVelocity we need to
// ensure a return value
if (!stagePolygon) return { x: 0, y: 0}
let polygon = this.polygon; let polygon = this.polygon;
let bounced = this.bouncing(); let bounced = this.bouncing();
if (bounced) { if (bounced) {
@ -7854,7 +7856,6 @@
* @memberof Tile * @memberof Tile
*/ */
destroy(options, debug = false) { destroy(options, debug = false) {
if (this.parent != null) ;
let count = this.unregister(); let count = this.unregister();
if (count <= 0) { if (count <= 0) {
let opts = { children: true, texture: true, baseTexture: true }; let opts = { children: true, texture: true, baseTexture: true };
@ -7866,6 +7867,11 @@
if (debug) console.log("Tile.destroy", deepZoomTileCache.size, opts); if (debug) console.log("Tile.destroy", deepZoomTileCache.size, opts);
super.destroy(opts); super.destroy(opts);
} }
if (this.parent != null) {
// UO: Emit warning and remove
console.warn("Destroying tile with parent. Hiding instead");
this.visible = false;
}
} }
} }
@ -7931,9 +7937,14 @@
console.warn("Tile already loaded"); console.warn("Tile already loaded");
tile.unregister(); tile.unregister();
} }
try {
tile = new Tile(texture, url); tile = new Tile(texture, url);
this.loaded.set(url, tile); this.loaded.set(url, tile);
this.tiles.tileAvailable(tile, col, row, url); this.tiles.tileAvailable(tile, col, row, url);
} catch (error) {
console.warn("Tile loading error", error);
}
} }
} }

View File

@ -62,9 +62,14 @@ export class TileLoader {
console.warn("Tile already loaded") console.warn("Tile already loaded")
tile.unregister() tile.unregister()
} }
try {
tile = new Tile(texture, url) tile = new Tile(texture, url)
this.loaded.set(url, tile) this.loaded.set(url, tile)
this.tiles.tileAvailable(tile, col, row, url) this.tiles.tileAvailable(tile, col, row, url)
} catch (error) {
console.warn("Tile loading error", error)
}
} }
} }

View File

@ -59,9 +59,6 @@ export class Tile extends PIXI.Sprite {
* @memberof Tile * @memberof Tile
*/ */
destroy(options, debug = false) { destroy(options, debug = false) {
if (this.parent != null) {
}
let count = this.unregister() let count = this.unregister()
if (count <= 0) { if (count <= 0) {
let opts = { children: true, texture: true, baseTexture: true } let opts = { children: true, texture: true, baseTexture: true }
@ -73,5 +70,10 @@ export class Tile extends PIXI.Sprite {
if (debug) console.log("Tile.destroy", deepZoomTileCache.size, opts) if (debug) console.log("Tile.destroy", deepZoomTileCache.size, opts)
super.destroy(opts) super.destroy(opts)
} }
if (this.parent != null) {
// UO: Emit warning and remove
console.warn("Destroying tile with parent. Hiding instead")
this.visible = false
}
} }
} }