@mcbelibs/hslib
Version:
personal library for bdsx
35 lines • 2.44 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.IntervalUtil = void 0;
const event_1 = require("bdsx/event");
class IntervalUtil {
constructor(func, delayMS) {
this.set = false;
this.set = true;
this.timeout = setInterval(func, delayMS);
IntervalUtil.entries.push(this);
}
static clearAll() {
for (let i = this.entries.length - 1; i >= 0; --i) {
this.entries[i].clear();
}
}
static New(func, delayMS) {
return new this(func, delayMS);
}
clear() {
this.set = false;
const idx = IntervalUtil.entries.indexOf(this);
IntervalUtil.entries.splice(idx, 1);
clearInterval(this.timeout);
}
isCleared() {
return !this.set;
}
}
exports.IntervalUtil = IntervalUtil;
IntervalUtil.entries = [];
event_1.events.serverLeave.on(() => {
IntervalUtil.clearAll();
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJ2YWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbnRlcnZhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzQ0FBb0M7QUFFcEMsTUFBYSxZQUFZO0lBZXJCLFlBQXNCLElBQWdCLEVBQUUsT0FBZTtRQUYvQyxRQUFHLEdBQVksS0FBSyxDQUFDO1FBR3pCLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxPQUFPLEdBQUcsV0FBVyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMxQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBakJELE1BQU0sQ0FBQyxRQUFRO1FBRVgsS0FBSyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRTtZQUMvQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQzNCO0lBQ0wsQ0FBQztJQUNELE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBZ0IsRUFBRSxPQUFlO1FBQ3hDLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFXRCxLQUFLO1FBQ0QsSUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUM7UUFDakIsTUFBTSxHQUFHLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0MsWUFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELFNBQVM7UUFDTCxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNyQixDQUFDOztBQTlCTCxvQ0ErQkM7QUE5QjJCLG9CQUFPLEdBQW1CLEVBQUUsQ0FBQztBQWdDekQsY0FBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFO0lBQ3ZCLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUM1QixDQUFDLENBQUMsQ0FBQyJ9