fix loading new maps

This commit is contained in:
Daniel Bulant 2021-04-08 20:37:12 +02:00
parent b56c53b025
commit f8722ff36f
5 changed files with 12 additions and 4 deletions

View file

@ -33,8 +33,6 @@ export class GameScene extends Phaser.Scene {
} }
unload() { unload() {
this.grid.destroy();
this.background.destroy();
this.container.destroy(); this.container.destroy();
delete this.items; delete this.items;
delete this.winds; delete this.winds;

View file

@ -40,6 +40,7 @@ export function setCanvas(canvas) {
export function stop() { export function stop() {
game.destroy(false); game.destroy(false);
gs = undefined;
} }
var map; var map;
@ -49,7 +50,7 @@ export function setMap(newmap) {
mapname = newmap; mapname = newmap;
map = maps[mapname]; map = maps[mapname];
if(gs) { if(gs) {
gs.unload(); // gs.unload();
gs.map = map; gs.map = map;
gs.createMap(); gs.createMap();
} }

View file

@ -3,6 +3,7 @@
import { Howl } from "howler"; import { Howl } from "howler";
import { dialog } from "../stores/dialog.js"; import { dialog } from "../stores/dialog.js";
import { characters } from "../stores/characters.js"; import { characters } from "../stores/characters.js";
import { gameActive } from "../stores/gameActive";
export var current; export var current;
export var page; export var page;
@ -62,6 +63,9 @@
d = dialog[current]; d = dialog[current];
art = !character ? null : d.character_art || d.pose ? character.poses[d.pose] : character.art; art = !character ? null : d.character_art || d.pose ? character.poses[d.pose] : character.art;
background = d.background; background = d.background;
if(d.map) {
$gameActive = true;
}
localStorage.setItem("dialog-page", next); localStorage.setItem("dialog-page", next);
} }

View file

@ -33,10 +33,12 @@
var canvas; var canvas;
onMount(() => { onMount(() => {
console.log("Started");
setMap(dialog[current].map); setMap(dialog[current].map);
setCanvas(canvas); setCanvas(canvas);
resize(); resize();
return () => { return () => {
console.log("Stopped");
stop(); stop();
} }
}); });

View file

@ -1,4 +1,7 @@
import { writable } from "svelte/store"; 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); export const page = writable(parseInt(localStorage.getItem("dialog-page")) || 0);