Startseite und Tests geupdated

This commit is contained in:
silas
2018-09-24 14:06:24 +02:00
parent b881242a9b
commit 11fe3628a2
10 changed files with 506 additions and 126 deletions

View File

@@ -5912,8 +5912,8 @@ class MainMenuLevel extends FourWordsLevel{
saveAsCurrentLevel() {
}
checkHasWon(delayPromise) {
}
// checkHasWon(delayPromise) {
// }
}
class MenuSite extends WordRotatorBaseSite {
@@ -5923,9 +5923,85 @@ class MenuSite extends WordRotatorBaseSite {
this.listener = null;
}
onStart(args) {
let res = super.onStart(args);
let level = new MainMenuLevel(this.templateContainer);
level.setWords(["WORD", "ROTA", "TORW", "ORDR"]);
level.createSegments();
level.getWonPromise().then(() => {
console.log("won!");
this.startSite(LevelSite);
});
let segment = level.getRootSegment();
segment._updateElement();
let levelSegment = this.findBy("#level");
levelSegment.removeAllChildren().appendChild(segment.getElement());
let rotationsSegments = level.getRotatableSegments();
let randomRotationFunction = () => {
let timeout = Math.random() * 4500 + 1500;
setTimeout(() => {
let indexBlocked = -1;
let indexesNotRight = [];
for (let i = 0; i < rotationsSegments.length; i++) {
if (rotationsSegments[i].rotation !== 0) {
indexesNotRight.push(i);
if (indexesNotRight.length >= 2) {
break;
}
}
}
if (indexesNotRight.length === 1) {
indexBlocked = indexesNotRight[0];
}
let index = Math.floor(Math.random() * rotationsSegments.length);
if (index === indexBlocked) {
index = (index + 1) % rotationsSegments.length;
}
rotationsSegments[index].rotate();
randomRotationFunction();
}, timeout);
};
randomRotationFunction();
this.listener = async () => {
let playButton = this.findBy("#play-button");
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);
let levelStyle = getComputedStyle(levelSegment);
playButton.style.width = levelStyle.getPropertyValue("width");
scaleHelper.scaleToFull(playButton.children[0], playButton, null, null, null, null, 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);
return res;
}
async onFirstStart() {
super.onFirstStart();
let playButton = this.findBy("#play-button");
playButton.addEventListener("click", () => {
this.startSite(LevelSite);
});
let leafSegmentTemplate = this.findBy("#segment-leaf-template");
let parentSegmentTemplate = this.findBy("#segment-parent-template");
let rowSegmentTemplate = this.findBy("#segment-row-template");
@@ -5941,61 +6017,12 @@ class MenuSite extends WordRotatorBaseSite {
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 scaleHelper = new ScaleHelper();
scaleHelper.scaleToFull(levelSegment, levelSegment.parentElement, false, false, 2, 8, null, false);
let levelStyle = getComputedStyle(levelSegment);
playButton.style.width = levelStyle.getPropertyValue("width");
scaleHelper.scaleToFull(playButton.children[0], playButton, null, null, null, null ,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();
this.templateContainer = new TemplateContainer(leafSegmentTemplate, parentSegmentTemplate, rowSegmentTemplate, triangleTemplate);
}
onDestroy() {
onPause(args) {
window.removeEventListener("resize", this.listener);
super.onDestroy();
super.onPause(args);
}
}