Update libhooktick.js
Adds additional capabilities and functionality
This commit is contained in:
parent
c9b7e6ea14
commit
f1b8e38c3e
|
|
@ -1,15 +1,49 @@
|
|||
let __registeredTickCallbacks = [];
|
||||
let __registeredAfterTickCallbacks = [];
|
||||
let __registeredBeforeTickCallbacks = [];
|
||||
window.addEventListener("load", ()=>{
|
||||
let oldTick = tick;
|
||||
const oldTick = tick;
|
||||
clearInterval(tickInterval);
|
||||
tick = function(){
|
||||
__registeredBeforeTickCallbacks.forEach(func=>{
|
||||
func();
|
||||
});
|
||||
oldTick();
|
||||
__registeredTickCallbacks.forEach(func=>{
|
||||
__registeredAfterTickCallbacks.forEach(func=>{
|
||||
func();
|
||||
});
|
||||
}
|
||||
tickInterval = setInterval(tick, 1000/tps);
|
||||
});
|
||||
function everyTick(callback) {
|
||||
__registeredTickCallbacks.push(callback);
|
||||
afterEveryTick(callback);
|
||||
}
|
||||
window.everyTick = everyTick;
|
||||
function beforeEveryTick(callback) {
|
||||
__registeredBeforeTickCallbacks.push(callback);
|
||||
}
|
||||
window.beforeEveryTick = beforeEveryTick;
|
||||
function afterEveryTick(callback) {
|
||||
__registeredAfterTickCallbacks.push(callback);
|
||||
}
|
||||
window.afterEveryTick = afterEveryTick;
|
||||
function removeTickListener(callback, mode) {
|
||||
let removed = false;
|
||||
if(mode!=="before") {
|
||||
let index = __registeredAfterTickCallbacks.indexOf(callback);
|
||||
if (index === -1 && mode === "after") throw new Error(`Could not find callback.`);
|
||||
if(index !== -1) {
|
||||
__registeredAfterTickCallbacks.splice(index, 1);
|
||||
removed = true;
|
||||
}
|
||||
}
|
||||
if(mode!=="after") {
|
||||
let index = __registeredBeforeTickCallbacks.indexOf(callback);
|
||||
if (index === -1 && mode === "before") throw new Error(`Could not find callback.`);
|
||||
if(index !== -1) {
|
||||
__registeredBeforeTickCallbacks.splice(index, 1);
|
||||
removed = true;
|
||||
}
|
||||
}
|
||||
return removed;
|
||||
}
|
||||
window.removeTickListener = removeTickListener;
|
||||
|
|
|
|||
Loading…
Reference in New Issue