Synchronisation im Hintegrund

This commit is contained in:
silas
2018-10-02 18:32:36 +02:00
parent b5da034687
commit da2252fc11
4 changed files with 83 additions and 39 deletions

View File

@@ -6159,7 +6159,7 @@ 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);
@@ -6449,7 +6449,7 @@ class LevelSite extends WordRotatorBaseSite {
}
}
}
LevelSite.RENDERER_TYPES = [20, 40, 60, 100, 120, 140, 160];
LevelSite.TUTORIAL = {
FIRST_LEVEL: 67,
SECOND_LEVEL: 15,
@@ -6486,7 +6486,7 @@ class MenuSite extends WordRotatorBaseSite {
level.getWonPromise().then(() => {
Matomo.push(["trackEvent", "MainMenu", "levelSolved"]);
this.startSite(LevelSite);
this.startLevelSite();
});
let segment = level.getRootSegment();
@@ -6549,13 +6549,23 @@ 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");
@@ -6591,10 +6601,10 @@ 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");
@@ -6602,7 +6612,7 @@ 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]);
});
}
@@ -6625,7 +6635,9 @@ 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;
}
@@ -6645,8 +6657,7 @@ 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);
}
}