4 * Copyright 2020 Elias Fleckenstein <eliasfleckenstein@web.de>
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
24 dragonblocks.Menu = class
28 let display = document.body.appendChild(document.createElement("div"));
29 display.id = "dragonblocks.menu";
30 display.style.position = "fixed";
31 display.style.backgroundColor = "#7E7E7E";
32 display.style.width = "500px";
33 display.style.height = "10px";
34 display.style.visibility = "hidden";
36 dblib.center(display);
37 dblib.centerVertical(display);
39 let head = document.createElement("div");
41 let headline = head.appendChild(document.createElement("h2"));
42 headline.innerHTML = "Options";
43 headline.align = "center";
45 this.addElement(head);
50 this.opened ? this.close() : this.open();
57 dragonblocks.gui.closeLayer();
58 dragonblocks.keyHandler.unlockAll();
60 document.getElementById("dragonblocks.menu").style.visibility = "hidden";
67 dragonblocks.gui.showLayer();
68 dragonblocks.keyHandler.lockAll();
69 dragonblocks.keyHandler.unlock("Escape");
71 document.getElementById("dragonblocks.menu").style.visibility = "visible";
76 let menu = document.getElementById("dragonblocks.menu");
77 elem = menu.appendChild(elem);
79 elem.style.position = "absolute";
80 elem.style.top = menu.offsetHeight + "px";
81 elem.style.width = "80%";
84 menu.style.height = menu.offsetHeight + 10 + elem.offsetHeight + "px";
85 dblib.centerVertical(menu);
92 let elem = document.createElement("button");
93 elem.innerHTML = html;
94 elem.style.fontSize = "20px";
95 elem.style.borderRadius = "0%";
96 elem.addEventListener("click", event => {
97 dragonblocks.menu.close();
101 this.addElement(elem);
105 dragonblocks.menu = new dragonblocks.Menu();
106 dragonblocks.menu.addButton("Continue Playing");
108 dragonblocks.registerOnStarted(_ => {
109 dragonblocks.menu.addButton(dragonblocks.loggedin ? "Save and Quit to Title" : "Quit to Title", dragonblocks.quit);
112 dragonblocks.keyHandler.down("F5", _ => {});
114 dragonblocks.keyHandler.down("Escape", _ => {
115 dragonblocks.menu.toggle();