Load files from manifest for caching

This commit is contained in:
Flashfyre committed 2024-04-23 22:00:23 -04:00
1 parent e608cb6738
commit ba71d2750b
11 files changed
+77 -46

No files matched your search

+12 -9
View File
@@ -1,26 +1,29 @@
let cacheBuster = '';
const ignoredFiles = [ 'intro_dark' ];
let manifest: object;
export default class CacheBustedLoaderPlugin extends Phaser.Loader.LoaderPlugin {
constructor(scene: Phaser.Scene) {
super(scene)
}
get cacheBuster() {
return cacheBuster
get manifest() {
return manifest;
}
set cacheBuster(version) {
cacheBuster = version
set manifest(manifestObj: object) {
manifest = manifestObj;
}
addFile(file): void {
if (!Array.isArray(file))
file = [ file ];
if (!ignoredFiles.includes(file?.key) && cacheBuster)
file.forEach(item => item.url += '?v=' + cacheBuster);
file.forEach(item => {
if (manifest) {
const timestamp = manifest[`/${item.url.replace(/\/\//g, '/')}` ];
if (timestamp)
item.url += `?t=${timestamp}`;
}
});
super.addFile(file);
}