escalator-web/src/game.js

45 lines
1.2 KiB
JavaScript

class Game {
constructor(canvas) {
// Create menu
let menu = new Menu(canvas);
// Create game scene
let box = new Box();
this.scene = new Scene(document.getElementById('canvas'), box);
this.changeScreen(menu);
}
changeScreen(screen) {
if (this.mainSCreen !== undefined) {
this.mainScreen.removeListeners();
}
this.mainScreen = screen;
screen.status = Status.Running;
screen.addListeners();
}
update(time = 0.02) {
this.mainScreen.update(time);
if (this.mainScreen.status === Status.Finished) {
if (this.mainScreen.after === AfterMenu.Start) {
this.changeScreen(this.scene);
} else if (this.mainScreen.after === AfterMenu.Exit) {
if (typeof window.close === 'function') {
window.close();
}
// if (navigator.app !== undefined && typeof navigator.app.exitApp === 'function') {
// navigator.app.exitApp();
// }
}
}
}
render() {
this.mainScreen.render();
}
}