UNPKG

kinetic-slider

Version:

A WebGL-powered kinetic slider component using PIXI.js

45 lines (42 loc) 1.55 kB
import { Assets } from 'pixi.js'; import { setupCustomFonts } from './fontUtils.js'; 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 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 (!Assets.cache.has(src)) { uncachedAssets[key] = src; } } } if (Object.keys(uncachedAssets).length > 0) { console.log(`Loading ${Object.keys(uncachedAssets).length} uncached assets...`); Assets.addBundle("kinetic-slider", uncachedAssets); await 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; } }; export { preloadKineticSliderAssets }; //# sourceMappingURL=assetPreload.js.map