Added listen variable to controls

This makes it possible to send controls over socket.io
This commit is contained in:
Arne van Iterson 2020-04-23 22:30:06 +02:00
parent e8cf095cec
commit 9da289ea62
2 changed files with 22 additions and 16 deletions

View File

@ -1,17 +1,19 @@
class KeyControls {
constructor() {
constructor(listen = true) {
this.keys = {};
// Bind event handlers
document.addEventListener("keydown", e => {
if ([37, 38, 39, 40].indexOf(e.which) >= 0) {
e.preventDefault();
}
this.keys[e.which] = true;
}, false);
document.addEventListener("keyup", e => {
this.keys[e.which] = false;
}, false);
if (listen) {
// Bind event handlers
document.addEventListener("keydown", e => {
if ([37, 38, 39, 40].indexOf(e.which) >= 0) {
e.preventDefault();
}
this.keys[e.which] = true;
}, false);
document.addEventListener("keyup", e => {
this.keys[e.which] = false;
}, false);
}
}
get action() {

View File

@ -1,15 +1,19 @@
class MouseControls {
constructor(container) {
constructor(container, listen = true) {
this.el = container || document.body;
// State
this.pos = { x: 0, y: 0 };
this.isDown = false;
this.pressed = false;
this.released = false;
// Handlers
document.addEventListener("mousemove", this.move.bind(this), false);
document.addEventListener("mousedown", this.down.bind(this), false);
document.addEventListener("mouseup", this.up.bind(this), false);
if (listen) {
// Handlers
document.addEventListener("mousemove", this.move.bind(this), false);
document.addEventListener("mousedown", this.down.bind(this), false);
document.addEventListener("mouseup", this.up.bind(this), false);
}
}
mousePosFromEvent({ clientX, clientY }) {