dcl-ui-toolkit
Version:
A collection of UI helpers to make it easier to build a Decentraland scene using the SDK 7.
27 lines • 3.51 kB
JavaScript
import { engine, inputSystem } from '@dcl/sdk/ecs';
export class SystemInputActions {
constructor({ callback, inputAction }) {
this._systemInputHandle = () => {
if (inputSystem.isTriggered(this._inputAction, 1)) {
this._callback();
}
};
this._isActive = false;
this._inputAction = inputAction;
this._callback = callback;
}
add() {
this.remove();
console.log('add event listener_________________');
engine.addSystem(this._systemInputHandle);
this._isActive = true;
}
remove() {
if (!this._isActive)
return;
console.log('remove event listener_________________');
engine.removeSystem(this._systemInputHandle);
this._isActive = false;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3lzdGVtSW5wdXRBY3Rpb25zVXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvc3lzdGVtSW5wdXRBY3Rpb25zVXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBZSxXQUFXLEVBQW9CLE1BQU0sY0FBYyxDQUFBO0FBT2pGLE1BQU0sT0FBTyxrQkFBa0I7SUFLN0IsWUFBWSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQTRCO1FBc0J2RCx1QkFBa0IsR0FBRyxHQUFTLEVBQUU7WUFDdEMsSUFBSSxXQUFXLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLElBQTRCLEVBQUU7Z0JBQ3pFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQTthQUNqQjtRQUNILENBQUMsQ0FBQTtRQXpCQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQTtRQUN0QixJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQTtRQUMvQixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQTtJQUMzQixDQUFDO0lBRU0sR0FBRztRQUNSLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQTtRQUViLE9BQU8sQ0FBQyxHQUFHLENBQUMscUNBQXFDLENBQUMsQ0FBQTtRQUNsRCxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO1FBQ3pDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFBO0lBQ3ZCLENBQUM7SUFFTSxNQUFNO1FBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTTtRQUUzQixPQUFPLENBQUMsR0FBRyxDQUFDLHdDQUF3QyxDQUFDLENBQUE7UUFDckQsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtRQUM1QyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQTtJQUN4QixDQUFDO0NBT0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBlbmdpbmUsIElucHV0QWN0aW9uLCBpbnB1dFN5c3RlbSwgUG9pbnRlckV2ZW50VHlwZSB9IGZyb20gJ0BkY2wvc2RrL2VjcydcblxuZXhwb3J0IHR5cGUgU3lzdGVtSW5wdXRBY3Rpb25zQ29uZmlnID0ge1xuICBpbnB1dEFjdGlvbjogSW5wdXRBY3Rpb247XG4gIGNhbGxiYWNrOiAoKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgY2xhc3MgU3lzdGVtSW5wdXRBY3Rpb25zIHtcbiAgcHJpdmF0ZSByZWFkb25seSBfY2FsbGJhY2s6ICgpID0+IHZvaWRcbiAgcHJpdmF0ZSBfaXNBY3RpdmU6IGJvb2xlYW5cbiAgcHJpdmF0ZSByZWFkb25seSBfaW5wdXRBY3Rpb246IElucHV0QWN0aW9uXG5cbiAgY29uc3RydWN0b3IoeyBjYWxsYmFjaywgaW5wdXRBY3Rpb24gfTogU3lzdGVtSW5wdXRBY3Rpb25zQ29uZmlnKSB7XG4gICAgdGhpcy5faXNBY3RpdmUgPSBmYWxzZVxuICAgIHRoaXMuX2lucHV0QWN0aW9uID0gaW5wdXRBY3Rpb25cbiAgICB0aGlzLl9jYWxsYmFjayA9IGNhbGxiYWNrXG4gIH1cblxuICBwdWJsaWMgYWRkKCk6IHZvaWQge1xuICAgIHRoaXMucmVtb3ZlKClcblxuICAgIGNvbnNvbGUubG9nKCdhZGQgZXZlbnQgbGlzdGVuZXJfX19fX19fX19fX19fX19fXycpXG4gICAgZW5naW5lLmFkZFN5c3RlbSh0aGlzLl9zeXN0ZW1JbnB1dEhhbmRsZSlcbiAgICB0aGlzLl9pc0FjdGl2ZSA9IHRydWVcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmUoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9pc0FjdGl2ZSkgcmV0dXJuXG5cbiAgICBjb25zb2xlLmxvZygncmVtb3ZlIGV2ZW50IGxpc3RlbmVyX19fX19fX19fX19fX19fX18nKVxuICAgIGVuZ2luZS5yZW1vdmVTeXN0ZW0odGhpcy5fc3lzdGVtSW5wdXRIYW5kbGUpXG4gICAgdGhpcy5faXNBY3RpdmUgPSBmYWxzZVxuICB9XG5cbiAgcHJpdmF0ZSBfc3lzdGVtSW5wdXRIYW5kbGUgPSAoKTogdm9pZCA9PiB7XG4gICAgaWYgKGlucHV0U3lzdGVtLmlzVHJpZ2dlcmVkKHRoaXMuX2lucHV0QWN0aW9uLCBQb2ludGVyRXZlbnRUeXBlLlBFVF9ET1dOKSkge1xuICAgICAgdGhpcy5fY2FsbGJhY2soKVxuICAgIH1cbiAgfVxufSJdfQ==