Added StartSite
This commit is contained in:
@@ -2643,7 +2643,7 @@ class MyDb {
|
||||
transactionMode = "read";
|
||||
}
|
||||
|
||||
this.queryPromise.then(function () {
|
||||
return this.queryPromise.then(function () {
|
||||
let res = null;
|
||||
try {
|
||||
res = myDb._conn.result.transaction(name, transactionMode);
|
||||
@@ -2661,7 +2661,7 @@ class MyDb {
|
||||
callback = transactionMode;
|
||||
transactionMode = "readonly";
|
||||
}
|
||||
this.openTransaction(name, transactionMode, function (t) {
|
||||
return this.openTransaction(name, transactionMode, function (t) {
|
||||
callback(t.objectStore(name));
|
||||
});
|
||||
}
|
||||
@@ -2706,7 +2706,7 @@ class MyDb {
|
||||
|
||||
load(key, objectStore) {
|
||||
let self = this;
|
||||
return new Promise(function (resolve) {
|
||||
return new Promise( (resolve, reject) => {
|
||||
self.openStore(objectStore, function (store) {
|
||||
let request = store.get(key);
|
||||
request.onsuccess = function (e) {
|
||||
@@ -2719,6 +2719,9 @@ class MyDb {
|
||||
"event": e
|
||||
}
|
||||
};
|
||||
}).catch(e => {
|
||||
console.warn(e);
|
||||
reject(e);
|
||||
});
|
||||
});
|
||||
}
|
||||
@@ -2726,7 +2729,7 @@ class MyDb {
|
||||
loadAll(objectStore, query, count)
|
||||
{
|
||||
let self = this;
|
||||
return new Promise(function (resolve) {
|
||||
return new Promise((resolve, reject) => {
|
||||
self.openStore(objectStore, function (store) {
|
||||
let request = store.getAll(query, count);
|
||||
request.onsuccess = function (e) {
|
||||
@@ -2739,6 +2742,9 @@ class MyDb {
|
||||
"event": e
|
||||
}
|
||||
};
|
||||
}).catch(e => {
|
||||
console.warn(e);
|
||||
reject(e);
|
||||
});
|
||||
});
|
||||
}
|
||||
@@ -4939,6 +4945,11 @@ class ParentSegment extends Segment {
|
||||
|
||||
applyRotations(rotations) {
|
||||
this.rotation = rotations[0];
|
||||
|
||||
if (isNaN(this.rotation)){
|
||||
this.rotation = 0;
|
||||
}
|
||||
|
||||
rotations.splice(0, 1);
|
||||
for (let i = 0, n = this.children.length; i < n; i++) {
|
||||
rotations = this.children[i].applyRotations(rotations);
|
||||
@@ -5700,6 +5711,7 @@ class LevelSite extends WordRotatorBaseSite {
|
||||
|
||||
const db = WordRotatorDb.getInstance();
|
||||
const levelJson = await db.loadLevel(currentLevelInfo["id"]);
|
||||
|
||||
if (levelJson === null) {
|
||||
return this.nextLevel();
|
||||
}
|
||||
@@ -5838,8 +5850,10 @@ class LevelSite extends WordRotatorBaseSite {
|
||||
}
|
||||
|
||||
this.wonParams.coinCounterTimer = setTimeout(() => {
|
||||
this.coinAction.setTitle(coinsBefore++);
|
||||
this.coinAction.redraw();
|
||||
if (!this.wonParams.aborted) {
|
||||
this.coinAction.setTitle(++coinsBefore);
|
||||
this.coinAction.redraw();
|
||||
}
|
||||
}, timeout / 2);
|
||||
}
|
||||
//Always do the next promise for garbage collection
|
||||
@@ -5852,9 +5866,6 @@ class LevelSite extends WordRotatorBaseSite {
|
||||
this.continueButtonScaler();
|
||||
this.levelScaler();
|
||||
|
||||
// coinPromise.then(() => {
|
||||
// continueButton.fadeIn();
|
||||
// });
|
||||
await savePromise;
|
||||
}
|
||||
catch (e) {
|
||||
@@ -5892,6 +5903,19 @@ class LevelSite extends WordRotatorBaseSite {
|
||||
}
|
||||
}
|
||||
|
||||
class MainMenuLevel extends FourWordsLevel{
|
||||
|
||||
constructor(templateContainer) {
|
||||
super(templateContainer, 4);
|
||||
}
|
||||
|
||||
saveAsCurrentLevel() {
|
||||
}
|
||||
|
||||
checkHasWon(delayPromise) {
|
||||
}
|
||||
}
|
||||
|
||||
class MenuSite extends WordRotatorBaseSite {
|
||||
constructor(siteManager) {
|
||||
super(siteManager, "html/application/menu.html");
|
||||
@@ -5902,16 +5926,46 @@ class MenuSite extends WordRotatorBaseSite {
|
||||
async onFirstStart() {
|
||||
super.onFirstStart();
|
||||
|
||||
let leafSegmentTemplate = this.findBy("#segment-leaf-template");
|
||||
let parentSegmentTemplate = this.findBy("#segment-parent-template");
|
||||
let rowSegmentTemplate = this.findBy("#segment-row-template");
|
||||
let triangleTemplate = this.findBy("#segment-triangle-template");
|
||||
|
||||
leafSegmentTemplate.id = null;
|
||||
parentSegmentTemplate.id = null;
|
||||
rowSegmentTemplate.id = null;
|
||||
triangleTemplate.id = null;
|
||||
|
||||
leafSegmentTemplate.remove();
|
||||
parentSegmentTemplate.remove();
|
||||
rowSegmentTemplate.remove();
|
||||
triangleTemplate.remove();
|
||||
|
||||
let templateContainer = new TemplateContainer(leafSegmentTemplate, parentSegmentTemplate, rowSegmentTemplate, triangleTemplate);
|
||||
let level = new MainMenuLevel(templateContainer);
|
||||
level.setWords(["WORD", "ROTA", "TORW", "ORDR"]);
|
||||
level.createSegments();
|
||||
|
||||
level.getWonPromise().then(() => {
|
||||
console.log("won!");
|
||||
});
|
||||
|
||||
let segment = level.getRootSegment();
|
||||
segment._updateElement();
|
||||
|
||||
let levelSegment = this.findBy("#level");
|
||||
levelSegment.removeAllChildren().appendChild(segment.getElement());
|
||||
|
||||
let playButton = this.findBy("#play-button");
|
||||
playButton.addEventListener("click", () => {
|
||||
this.startSite(LevelSite);
|
||||
});
|
||||
|
||||
|
||||
this.listener = async () => {
|
||||
let levelNumber = this.findBy("#level-number");
|
||||
levelNumber.innerText = Helper.nonNull(localStorage.getItem("levelCounter"), 1);
|
||||
|
||||
let levelSegment = this.findBy("#level");
|
||||
let scaleHelper = new ScaleHelper();
|
||||
scaleHelper.scaleToFull(levelSegment, levelSegment.parentElement, false, false, 2, 8, null, false);
|
||||
|
||||
@@ -5919,12 +5973,24 @@ class MenuSite extends WordRotatorBaseSite {
|
||||
playButton.style.width = levelStyle.getPropertyValue("width");
|
||||
scaleHelper.scaleToFull(playButton.children[0], playButton, null, null, null, null ,null ,false);
|
||||
|
||||
await scaleHelper.scaleTo(0.4, levelNumber.parentElement, levelNumber.parentElement.parentElement, null, null, null, 1 ,null ,false);
|
||||
await scaleHelper.scaleTo(0.15, levelNumber.parentElement, levelNumber.parentElement.parentElement, null, null, null, 10 ,null ,false);
|
||||
scaleHelper.scaleToFull(levelNumber, levelNumber.parentElement, false, false, 8, null, null, false);
|
||||
};
|
||||
|
||||
this.listener();
|
||||
window.addEventListener("resize", this.listener);
|
||||
|
||||
let rotationsSegments = level.getRotatableSegments();
|
||||
|
||||
let randomRotationFunction = () => {
|
||||
let timeout = Math.random()*6000+1500;
|
||||
setTimeout(() => {
|
||||
let index = Math.floor(Math.random()*rotationsSegments.length);
|
||||
rotationsSegments[index].rotate();
|
||||
randomRotationFunction();
|
||||
},timeout);
|
||||
};
|
||||
randomRotationFunction();
|
||||
}
|
||||
|
||||
onDestroy() {
|
||||
|
||||
Reference in New Issue
Block a user