pokerogue/src/plugins/cache-busted-loader-plugin.ts
2024-05-23 18:45:04 -05:00

33 lines
615 B
TypeScript

let manifest: object;
export default class CacheBustedLoaderPlugin extends Phaser.Loader.LoaderPlugin {
constructor(scene: Phaser.Scene) {
super(scene);
}
get manifest() {
return manifest;
}
set manifest(manifestObj: object) {
manifest = manifestObj;
}
addFile(file): void {
if (!Array.isArray(file)) {
file = [ file ];
}
file.forEach(item => {
if (manifest) {
const timestamp = manifest[`/${item.url.replace(/\/\//g, "/")}` ];
if (timestamp) {
item.url += `?t=${timestamp}`;
}
}
});
super.addFile(file);
}
}