From f8722ff36f39d287a3146149d3c05d9bcbed4259 Mon Sep 17 00:00:00 2001 From: Daniel Bulant Date: Thu, 8 Apr 2021 20:37:12 +0200 Subject: [PATCH] fix loading new maps --- src/game/gameScene.js | 2 -- src/game/index.js | 3 ++- src/pages/dialog.svelte | 4 ++++ src/pages/game.svelte | 2 ++ src/stores/gameActive.js | 5 ++++- 5 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/game/gameScene.js b/src/game/gameScene.js index f49b800..3c95b30 100644 --- a/src/game/gameScene.js +++ b/src/game/gameScene.js @@ -33,8 +33,6 @@ export class GameScene extends Phaser.Scene { } unload() { - this.grid.destroy(); - this.background.destroy(); this.container.destroy(); delete this.items; delete this.winds; diff --git a/src/game/index.js b/src/game/index.js index 08989ad..2412f4f 100644 --- a/src/game/index.js +++ b/src/game/index.js @@ -40,6 +40,7 @@ export function setCanvas(canvas) { export function stop() { game.destroy(false); + gs = undefined; } var map; @@ -49,7 +50,7 @@ export function setMap(newmap) { mapname = newmap; map = maps[mapname]; if(gs) { - gs.unload(); + // gs.unload(); gs.map = map; gs.createMap(); } diff --git a/src/pages/dialog.svelte b/src/pages/dialog.svelte index e83f514..0eec84e 100644 --- a/src/pages/dialog.svelte +++ b/src/pages/dialog.svelte @@ -3,6 +3,7 @@ import { Howl } from "howler"; import { dialog } from "../stores/dialog.js"; import { characters } from "../stores/characters.js"; +import { gameActive } from "../stores/gameActive"; export var current; export var page; @@ -62,6 +63,9 @@ d = dialog[current]; art = !character ? null : d.character_art || d.pose ? character.poses[d.pose] : character.art; background = d.background; + if(d.map) { + $gameActive = true; + } localStorage.setItem("dialog-page", next); } diff --git a/src/pages/game.svelte b/src/pages/game.svelte index 1893f87..fbf5c54 100644 --- a/src/pages/game.svelte +++ b/src/pages/game.svelte @@ -33,10 +33,12 @@ var canvas; onMount(() => { + console.log("Started"); setMap(dialog[current].map); setCanvas(canvas); resize(); return () => { + console.log("Stopped"); stop(); } }); diff --git a/src/stores/gameActive.js b/src/stores/gameActive.js index fc0d3e7..7baff09 100644 --- a/src/stores/gameActive.js +++ b/src/stores/gameActive.js @@ -1,4 +1,7 @@ import { writable } from "svelte/store"; -export const gameActive = writable(true); +export const gameActive = writable(!!parseInt(localStorage.getItem("game-active"))); +gameActive.subscribe(t => { + localStorage.setItem("game-active", t ? 1 : 0); +}); export const page = writable(parseInt(localStorage.getItem("dialog-page")) || 0); \ No newline at end of file