UNPKG

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
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