caa-game/src/game.js

68 lines
1.8 KiB
JavaScript

const { ipcRenderer, remote } = require("electron");
var asdf = require("asdf-games");
// eslint-disable-next-line no-unused-vars
const { Game, KeyControls, MouseControls, Camera, Lighting } = asdf;
const window = { w: 640, h: 320 };
const game = new Game(window.w, window.h, true);
ipcRenderer.send("resize", window);
const { scene } = game;
var Player = require("./src/entities/player.js");
var Level = require("./src/levels/level.js");
const mouseAim = new MouseControls(document.getElementById("board"));
const keys = new KeyControls();
// var lightsources = [
// { x: 100, y: 50 },
// { x: 100, y: 300 },
// { x: 300, y: 50 },
// { x: 300, y: 300 },
// { x: 100, y: 500 },
// { x: 500, y: 100 }
// ];
// var lighting = new Lighting(level.x, level.y, level.w, level.h, lightsources);
var player = new Player(keys, window);
var level = new Level(require("./src/levels/1-1.js"), keys, player);
player.pos = level.startPos;
player.level = level;
const camera = new Camera(player, window, { w: level.w * 2, h: level.h * 2 });
scene.add(camera);
camera.add(level);
camera.add(player);
// camera.add(lighting);
game.run(() => {
if (mouseAim.isDown) {
console.log("cliccccccccccc");
}
});
/* *********************************************************
Settings behavior
********************************************************* */
// Opening and closing of menu.
document.getElementById("settings").addEventListener("click", () => {
const menuRef = document.getElementById("menu");
menuRef.style.display = menuRef.style.display === "block" ? "none" : "block";
});
// Quit Game handling.
document.getElementById("close").addEventListener("click", () => {
remote.app.quit();
});
// Return to main menu button
document.getElementById("mainmenu").addEventListener("click", () => {
remote.getCurrentWindow().loadFile(__dirname + "/index.html");
});