dcl-ui-toolkit
Version:
A collection of UI helpers to make it easier to build a Decentraland scene using the SDK 7.
29 lines • 3.49 kB
JavaScript
import { engine } from '@dcl/sdk/ecs';
export class Timer {
constructor({ seconds, callback }) {
this._timeOutSystemHandle = (dt) => {
this._endTime -= dt;
if (this._endTime <= 0) {
this._callback();
this.stop();
}
};
this._seconds = seconds;
this._endTime = this._seconds;
this._callback = callback;
}
start() {
if (this._endTime !== this._seconds)
return;
console.log('start timer_________________');
engine.addSystem(this._timeOutSystemHandle);
}
stop() {
if (this._endTime === this._seconds)
return;
console.log('stop timer_________________');
engine.removeSystem(this._timeOutSystemHandle);
this._endTime = this._seconds;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXJVdGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy90aW1lclV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFPckMsTUFBTSxPQUFPLEtBQUs7SUFLaEIsWUFBWSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQWU7UUFzQnRDLHlCQUFvQixHQUFHLENBQUMsRUFBVSxFQUFRLEVBQUU7WUFDbEQsSUFBSSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUE7WUFFbkIsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsRUFBRTtnQkFFdEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFBO2dCQUVoQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUE7YUFDWjtRQUNILENBQUMsQ0FBQTtRQTlCQyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQTtRQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUE7UUFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUE7SUFDM0IsQ0FBQztJQUVNLEtBQUs7UUFDVixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFNO1FBRTNDLE9BQU8sQ0FBQyxHQUFHLENBQUMsOEJBQThCLENBQUMsQ0FBQTtRQUMzQyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO0lBQzdDLENBQUM7SUFFTSxJQUFJO1FBQ1QsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTTtRQUUzQyxPQUFPLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLENBQUE7UUFDMUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtRQUU5QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUE7SUFDL0IsQ0FBQztDQVlGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZW5naW5lIH0gZnJvbSAnQGRjbC9zZGsvZWNzJ1xuXG5leHBvcnQgdHlwZSBUaW1lckNvbmZpZyA9IHtcbiAgc2Vjb25kczogbnVtYmVyO1xuICBjYWxsYmFjazogKCkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGNsYXNzIFRpbWVyIHtcbiAgcHJpdmF0ZSBfZW5kVGltZTogbnVtYmVyXG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlY29uZHM6IG51bWJlclxuICBwcml2YXRlIHJlYWRvbmx5IF9jYWxsYmFjazogKCkgPT4gdm9pZFxuXG4gIGNvbnN0cnVjdG9yKHsgc2Vjb25kcywgY2FsbGJhY2sgfTogVGltZXJDb25maWcpIHtcbiAgICB0aGlzLl9zZWNvbmRzID0gc2Vjb25kc1xuICAgIHRoaXMuX2VuZFRpbWUgPSB0aGlzLl9zZWNvbmRzXG4gICAgdGhpcy5fY2FsbGJhY2sgPSBjYWxsYmFja1xuICB9XG5cbiAgcHVibGljIHN0YXJ0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9lbmRUaW1lICE9PSB0aGlzLl9zZWNvbmRzKSByZXR1cm5cblxuICAgIGNvbnNvbGUubG9nKCdzdGFydCB0aW1lcl9fX19fX19fX19fX19fX19fJylcbiAgICBlbmdpbmUuYWRkU3lzdGVtKHRoaXMuX3RpbWVPdXRTeXN0ZW1IYW5kbGUpXG4gIH1cblxuICBwdWJsaWMgc3RvcCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fZW5kVGltZSA9PT0gdGhpcy5fc2Vjb25kcykgcmV0dXJuXG5cbiAgICBjb25zb2xlLmxvZygnc3RvcCB0aW1lcl9fX19fX19fX19fX19fX19fJylcbiAgICBlbmdpbmUucmVtb3ZlU3lzdGVtKHRoaXMuX3RpbWVPdXRTeXN0ZW1IYW5kbGUpXG5cbiAgICB0aGlzLl9lbmRUaW1lID0gdGhpcy5fc2Vjb25kc1xuICB9XG5cbiAgcHJpdmF0ZSBfdGltZU91dFN5c3RlbUhhbmRsZSA9IChkdDogbnVtYmVyKTogdm9pZCA9PiB7XG4gICAgdGhpcy5fZW5kVGltZSAtPSBkdFxuXG4gICAgaWYgKHRoaXMuX2VuZFRpbWUgPD0gMCkge1xuXG4gICAgICB0aGlzLl9jYWxsYmFjaygpXG5cbiAgICAgIHRoaXMuc3RvcCgpXG4gICAgfVxuICB9XG59Il19