Path: blob/main/projects/flappy-2048/js/keyboard_input_manager.js
1834 views
function KeyboardInputManager() {1this.events = {};23this.listen();4}56KeyboardInputManager.prototype.on = function (event, callback) {7if (!this.events[event]) {8this.events[event] = [];9}10this.events[event].push(callback);11};1213KeyboardInputManager.prototype.emit = function (event, data) {14var callbacks = this.events[event];15if (callbacks) {16callbacks.forEach(function (callback) {17callback(data);18});19}20};2122KeyboardInputManager.prototype.listen = function () {23var self = this;2425function dojump(event) {26var modifiers = event.altKey || event.ctrlKey || event.metaKey ||27event.shiftKey;2829if (!modifiers) {30if (event.which >= 8 && event.which < 48) event.preventDefault();31self.emit("jump");32}33}3435function dojump2(event) {36event.preventDefault();37self.emit("jump");38}3940document.addEventListener("keydown", dojump);41var gameContainer = document.querySelector(".game-container");42gameContainer.addEventListener("click", dojump2);43gameContainer.addEventListener("touchstart", dojump2);44};4546KeyboardInputManager.prototype.restart = function (event) {47event.preventDefault();48this.emit("restart");49};5051KeyboardInputManager.prototype.keepPlaying = function (event) {52event.preventDefault();53this.emit("keepPlaying");54};555657