UNPKG

@tolokoban/tgd

Version:

ToloGameDev library for WebGL2

36 lines 2.64 kB
import { tgdLoadGlb } from "./binary.js"; import { tgdLoadImage } from "./image.js"; export async function tgdLoadAssets(urls) { const glb = {}; const img = {}; const tasks = [ ...getPromisedLoaders(tgdLoadGlb, urls.glb, glb), ...getPromisedLoaders(tgdLoadImage, urls.img, img), ]; await Promise.all(tasks); return { glb, img }; } function getPromisedLoaders(loader, urls, target) { return Object.keys(urls ?? {}).map((name) => new Promise((resolve) => { if (!urls) { resolve(); return; } const url = urls[name]; if (!url) { resolve(); return; } loader(url) .then((value) => { if (value) target[name] = value; resolve(); }) .catch(() => { console.error("Unable to load URL", url); resolve(); }); })); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9hZGVyL2Fzc2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFDckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUV0QyxNQUFNLENBQUMsS0FBSyxVQUFVLGFBQWEsQ0FDL0IsSUFHRTtJQUtGLE1BQU0sR0FBRyxHQUFHLEVBQTZCLENBQUE7SUFDekMsTUFBTSxHQUFHLEdBQUcsRUFBbUMsQ0FBQTtJQUMvQyxNQUFNLEtBQUssR0FBb0I7UUFDM0IsR0FBRyxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUM7UUFDaEQsR0FBRyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUM7S0FDckQsQ0FBQTtJQUNELE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUN4QixPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFBO0FBQ3ZCLENBQUM7QUFFRCxTQUFTLGtCQUFrQixDQUN2QixNQUEwQyxFQUMxQyxJQUFtQyxFQUNuQyxNQUFvQjtJQUVwQixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FDOUIsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUNMLElBQUksT0FBTyxDQUFPLENBQUMsT0FBTyxFQUFFLEVBQUU7UUFDMUIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1IsT0FBTyxFQUFFLENBQUE7WUFDVCxPQUFNO1FBQ1YsQ0FBQztRQUNELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFTLENBQUMsQ0FBQTtRQUMzQixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDUCxPQUFPLEVBQUUsQ0FBQTtZQUNULE9BQU07UUFDVixDQUFDO1FBRUQsTUFBTSxDQUFDLEdBQUcsQ0FBQzthQUNOLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ1osSUFBSSxLQUFLO2dCQUFFLE1BQU0sQ0FBQyxJQUFTLENBQUMsR0FBRyxLQUFLLENBQUE7WUFDcEMsT0FBTyxFQUFFLENBQUE7UUFDYixDQUFDLENBQUM7YUFDRCxLQUFLLENBQUMsR0FBRyxFQUFFO1lBQ1IsT0FBTyxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsRUFBRSxHQUFHLENBQUMsQ0FBQTtZQUN4QyxPQUFPLEVBQUUsQ0FBQTtRQUNiLENBQUMsQ0FBQyxDQUFBO0lBQ1YsQ0FBQyxDQUFDLENBQ1QsQ0FBQTtBQUNMLENBQUMifQ==