const { ipcRenderer, remote } = require("electron"); var asdf = require("asdf-games"); // eslint-disable-next-line no-unused-vars const { Game, KeyControls, MouseControls } = asdf; const Logo = require(__dirname + "/../src/screens/logo.js"), Title = require(__dirname + "/../src/screens/title.js"), Tutorial = require(__dirname + "/../src/screens/tutorial.js"), GameScreen = require(__dirname + "/../src/screens/game.js"), Gameover = require(__dirname + "/../src/screens/gameover.js") ; const window = { w: 640, h: 320 }; const game = new Game(window.w, window.h, true); ipcRenderer.send("resize", window); const keys = new KeyControls(); function titleScreen() { game.scene = new Title(game, keys, newGame, tutorial, remote.app.quit); } function tutorial() { game.scene = new Tutorial(game, keys, titleScreen); } function gameOver() { game.scene = new Gameover(game, keys, titleScreen); } function newGame() { game.scene = new GameScreen(game, window, keys, gameOver); } game.scene = new Logo(game, titleScreen); game.run(); /* ********************************************************* Settings behavior ********************************************************* */ // Opening and closing of menu. function toggleMenu() { const menuRef = document.getElementById("menu"); menuRef.style.display = menuRef.style.display === "block" ? "none" : "block"; } const elements = [...document.querySelectorAll("#settings, #resume")]; elements.forEach(element => { element.addEventListener("click", () => { toggleMenu(); }); }); // Return to main menu button document.getElementById("mainmenu").addEventListener("click", () => { titleScreen(); toggleMenu(); }); // Quit Game handling. document.getElementById("close").addEventListener("click", () => { remote.app.quit(); });