Simple queueing script (needs finished)

This commit is contained in:
Vortrex
2023-02-25 04:44:56 -06:00
parent d15ed19401
commit 272cfd9a3f

44
scripts/shared/queue.js Normal file
View File

@@ -0,0 +1,44 @@
// ===========================================================================
// Vortrex's Roleplay Resource
// https://github.com/VortrexFTW/v-roleplay
// ===========================================================================
// FILE: queue.js
// DESC: Provides simple queue functions
// TYPE: Shared (JavaScript)
// ===========================================================================
class QueueData {
constructor(func, duration) {
this.duration = duration;
this.func = func;
this.nextUp = null;
if (this.nextUp != null) {
if (duration <= 0) {
this.nextUp.func();
} else {
delayedFunction(this.nextUp.func, this.duration);
}
}
}
next(func, duration) {
this.nextUp = createQueue(func, duration);
}
}
// ===========================================================================
function createQueue(func, duration) {
return new QueueData(func, duration);
}
// ===========================================================================
function delayedFunction(func, duration) {
setTimeout(function () {
func();
}, duration);
}
// ===========================================================================