@tolokoban/tgd
Version:
ToloGameDev library for WebGL2
39 lines • 2.8 kB
JavaScript
import { __awaiter } from "tslib";
import { tgdLoadGlb } from "./binary.js";
import { tgdLoadImage } from "./image.js";
export function tgdLoadAssets(urls) {
return __awaiter(this, void 0, void 0, function* () {
const glb = {};
const img = {};
const tasks = [
...getPromisedLoaders(tgdLoadGlb, urls.glb, glb),
...getPromisedLoaders(tgdLoadImage, urls.img, img),
];
yield Promise.all(tasks);
return { glb, img };
});
}
function getPromisedLoaders(loader, urls, target) {
return Object.keys(urls !== null && urls !== void 0 ? 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9hZGVyL2Fzc2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQ3JDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFFdEMsTUFBTSxVQUFnQixhQUFhLENBQy9CLElBR0U7O1FBS0YsTUFBTSxHQUFHLEdBQUcsRUFBbUQsQ0FBQTtRQUMvRCxNQUFNLEdBQUcsR0FBRyxFQUFtQyxDQUFBO1FBQy9DLE1BQU0sS0FBSyxHQUFvQjtZQUMzQixHQUFHLGtCQUFrQixDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQztZQUNoRCxHQUFHLGtCQUFrQixDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQztTQUNyRCxDQUFBO1FBQ0QsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3hCLE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUE7SUFDdkIsQ0FBQztDQUFBO0FBRUQsU0FBUyxrQkFBa0IsQ0FDdkIsTUFBMEMsRUFDMUMsSUFBbUMsRUFDbkMsTUFBb0I7SUFFcEIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksYUFBSixJQUFJLGNBQUosSUFBSSxHQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FDOUIsSUFBSSxDQUFDLEVBQUUsQ0FDSCxJQUFJLE9BQU8sQ0FBTyxPQUFPLENBQUMsRUFBRTtRQUN4QixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDUixPQUFPLEVBQUUsQ0FBQTtZQUNULE9BQU07UUFDVixDQUFDO1FBQ0QsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQVMsQ0FBQyxDQUFBO1FBQzNCLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNQLE9BQU8sRUFBRSxDQUFBO1lBQ1QsT0FBTTtRQUNWLENBQUM7UUFFRCxNQUFNLENBQUMsR0FBRyxDQUFDO2FBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ1YsSUFBSSxLQUFLO2dCQUFFLE1BQU0sQ0FBQyxJQUFTLENBQUMsR0FBRyxLQUFLLENBQUE7WUFDcEMsT0FBTyxFQUFFLENBQUE7UUFDYixDQUFDLENBQUM7YUFDRCxLQUFLLENBQUMsR0FBRyxFQUFFO1lBQ1IsT0FBTyxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsRUFBRSxHQUFHLENBQUMsQ0FBQTtZQUN4QyxPQUFPLEVBQUUsQ0FBQTtRQUNiLENBQUMsQ0FBQyxDQUFBO0lBQ1YsQ0FBQyxDQUFDLENBQ1QsQ0FBQTtBQUNMLENBQUMifQ==