Skip to content

Commit

Permalink
fix
Browse files Browse the repository at this point in the history
  • Loading branch information
valentinMachado committed Aug 23, 2021
1 parent 9a5b830 commit 7e524da
Showing 1 changed file with 31 additions and 7 deletions.
38 changes: 31 additions & 7 deletions src/Components/InputManager.js
Original file line number Diff line number Diff line change
Expand Up @@ -65,11 +65,17 @@ export class InputManager {
*/
addKeyInput(key, eventID, cb) {
const _this = this;
window.addEventListener(eventID, function (event) {
const listener = function (event) {
if (key == event.key && !_this.pause) cb();
});
};
window.addEventListener(eventID, listener);
//register to dispose it
this.listeners.push({ element: window, cb: cb, id: eventID });
this.listeners.push({
element: window,
cb: cb, //keep it to make easier the remove
id: eventID,
listener: listener,
});
}

/**
Expand Down Expand Up @@ -116,13 +122,21 @@ export class InputManager {
*/
addMouseInput(element, eventID, cb) {
const _this = this;
element.addEventListener(eventID, function (event) {

const listener = function (event) {
if (!_this.pause) {
cb(event);
}
});
};

element.addEventListener(eventID, listener);
//register to dispose it
this.listeners.push({ element: element, cb: cb, id: eventID });
this.listeners.push({
element: element,
cb: cb, //keep it to make easier the remove
id: eventID,
listener: listener,
});
}

/**
Expand Down Expand Up @@ -154,6 +168,17 @@ export class InputManager {
this.mouseState.startListening(element);
}

removeInputListener(listener) {
for (let index = 0; index < this.listeners.length; index++) {
const o = this.listeners[index];
if (o.cb == listener) {
o.element.removeEventListener(o.id, o.listener);
this.listeners.splice(index, 1);
break;
}
}
}

/**
* Remove listeners and reset variables
*/
Expand Down Expand Up @@ -237,7 +262,6 @@ const MOUSE_STATE_EVENTS = {
MOUSE_UP: 'mouseup',
MOUSE_DOWN: 'mousedown',
MOUSE_MOVE: 'mousemove',
MOUSE_WHEEL: 'wheel',
};

/**
Expand Down

0 comments on commit 7e524da

Please sign in to comment.