Synchronisation im Hintegrund
This commit is contained in:
@@ -150,7 +150,7 @@ export class LevelSite extends WordRotatorBaseSite {
|
||||
this.wonText.style.fontSize = "0";
|
||||
|
||||
const db = WordRotatorDb.getInstance();
|
||||
const nextLevelJson = await db.loadNextLevel([20, 40, 60, 100, 120, 140, 160]);
|
||||
const nextLevelJson = await db.loadNextLevel(LevelSite.RENDERER_TYPES);
|
||||
|
||||
if (nextLevelJson === null) {
|
||||
this.startSite(EndSite);
|
||||
@@ -440,7 +440,7 @@ export class LevelSite extends WordRotatorBaseSite {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
LevelSite.RENDERER_TYPES = [20, 40, 60, 100, 120, 140, 160];
|
||||
LevelSite.TUTORIAL = {
|
||||
FIRST_LEVEL: 67,
|
||||
SECOND_LEVEL: 15,
|
||||
|
||||
@@ -24,7 +24,7 @@ export class MenuSite extends WordRotatorBaseSite {
|
||||
|
||||
level.getWonPromise().then(() => {
|
||||
Matomo.push(["trackEvent", "MainMenu", "levelSolved"]);
|
||||
this.startSite(LevelSite);
|
||||
this.startLevelSite();
|
||||
});
|
||||
|
||||
let segment = level.getRootSegment();
|
||||
@@ -87,13 +87,23 @@ export class MenuSite extends WordRotatorBaseSite {
|
||||
return res;
|
||||
}
|
||||
|
||||
async startLevelSite() {
|
||||
this.startSite(LevelSite, Promise.race([this.loadLevelPromise, new Promise(async resolve => {
|
||||
const db = WordRotatorDb.getInstance();
|
||||
let level = await db.loadNextLevel(LevelSite.RENDERER_TYPES);
|
||||
if (level !== null) {
|
||||
resolve();
|
||||
}
|
||||
})]));
|
||||
}
|
||||
|
||||
async onFirstStart() {
|
||||
super.onFirstStart();
|
||||
|
||||
let playButton = this.findBy("#play-button");
|
||||
playButton.addEventListener("click", () => {
|
||||
Matomo.push(["trackEvent", "MainMenu", "startButton"]);
|
||||
this.startSite(LevelSite, this.loadLevelPromise);
|
||||
this.startLevelSite();
|
||||
});
|
||||
|
||||
let leafSegmentTemplate = this.findBy("#segment-leaf-template");
|
||||
@@ -129,10 +139,10 @@ export class MenuSite extends WordRotatorBaseSite {
|
||||
playMusicButton.addEventListener("change", () => {
|
||||
settingsManager.setSetting("play-music", playMusicButton.checked);
|
||||
soundManager.set({muted: !playMusicButton.checked}, SoundManager.CHANNELS.MUSIC);
|
||||
if (playMusicButton.checked){
|
||||
if (playMusicButton.checked) {
|
||||
soundManager.play(SoundManager.CHANNELS.MUSIC);
|
||||
}
|
||||
Matomo.push(["trackEvent", "MainMenu", "PlayMusic", "Play Music", (playMusicButton.checked)?1:0]);
|
||||
Matomo.push(["trackEvent", "MainMenu", "PlayMusic", "Play Music", (playMusicButton.checked) ? 1 : 0]);
|
||||
});
|
||||
|
||||
let playSoundButton = this.findBy("#play-sound");
|
||||
@@ -140,7 +150,7 @@ export class MenuSite extends WordRotatorBaseSite {
|
||||
playSoundButton.addEventListener("change", () => {
|
||||
settingsManager.setSetting("play-sound", playSoundButton.checked);
|
||||
soundManager.set({muted: !playSoundButton.checked}, SoundManager.CHANNELS.SOUND);
|
||||
Matomo.push(["trackEvent", "MainMenu", "PlaySound", "Play Sound", (playSoundButton.checked)?1:0]);
|
||||
Matomo.push(["trackEvent", "MainMenu", "PlaySound", "Play Sound", (playSoundButton.checked) ? 1 : 0]);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -163,7 +173,9 @@ export class MenuSite extends WordRotatorBaseSite {
|
||||
"dateLastSync": dateLastSync
|
||||
}));
|
||||
if (!res["success"]) {
|
||||
FlashMessenger.addMessage("sync-error", null, 6000);
|
||||
if (await db.loadNextLevel(LevelSite.RENDERER_TYPES) === null) {
|
||||
FlashMessenger.addMessage("sync-error", null, 6000);
|
||||
}
|
||||
newLastSync = null;
|
||||
break;
|
||||
}
|
||||
@@ -183,8 +195,7 @@ export class MenuSite extends WordRotatorBaseSite {
|
||||
let levels = await Promise.all(levelPromises);
|
||||
await db.saveManyLevels(levels);
|
||||
|
||||
if (newLastSync != null && newLastSync !== "null")
|
||||
{
|
||||
if (newLastSync != null && newLastSync !== "null") {
|
||||
localStorage.setItem("date-last-sync", newLastSync);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user