kinetic-slider
Version:
A WebGL-powered kinetic slider component using PIXI.js
47 lines (43 loc) • 1.62 kB
JavaScript
;
var pixi_js = require('pixi.js');
var fontUtils = require('./fontUtils.cjs');
const preloadKineticSliderAssets = async (images, backgroundDisplacement = "/images/background-displace.jpg", cursorDisplacement = "/images/cursor-displace.png", titleFontFamily, subtitleFontFamily) => {
try {
console.log("Preloading KineticSlider assets...");
if (titleFontFamily || subtitleFontFamily) {
console.log("Setting up custom fonts...");
await fontUtils.setupCustomFonts(titleFontFamily, subtitleFontFamily);
}
const assetsToLoad = [
...images,
backgroundDisplacement,
cursorDisplacement
].filter(Boolean);
const assetsMap = {};
for (const src of assetsToLoad) {
assetsMap[src] = src;
}
const uncachedAssets = {};
for (const key in assetsMap) {
if (Object.prototype.hasOwnProperty.call(assetsMap, key)) {
const src = assetsMap[key];
if (!pixi_js.Assets.cache.has(src)) {
uncachedAssets[key] = src;
}
}
}
if (Object.keys(uncachedAssets).length > 0) {
console.log(`Loading ${Object.keys(uncachedAssets).length} uncached assets...`);
pixi_js.Assets.addBundle("kinetic-slider", uncachedAssets);
await pixi_js.Assets.loadBundle("kinetic-slider");
console.log("All assets loaded successfully");
} else {
console.log("All assets already cached");
}
} catch (error) {
console.error("Error preloading assets:", error);
throw error;
}
};
exports.preloadKineticSliderAssets = preloadKineticSliderAssets;
//# sourceMappingURL=assetPreload.cjs.map