zeldon-site/src/utils.js

31 lines
853 B
JavaScript

export let last_update = Date.now();
export function calc_delta_time() {
let now = Date.now();
let dt = (now - last_update) / 1e3;
dt = Math.min(dt, 0.016);
last_update = now;
return dt;
}
export function event_listener_array(whos, event_names, callback, options = null) {
if (!Array.isArray(whos)) {
whos = [whos];
}
for (const name of event_names) {
for (const who of whos) {
who.addEventListener(name, callback, options);
}
}
}
export async function import_js_as_module(url) {
return new Promise((resole, reject) => {
const body = document.getElementsByTagName('body')[0];
const script = document.createElement('script');
script.type = 'module';
script.src = url;
script.onload = resole;
body.appendChild(script);
});
}