pokerogue/src/plugins/cache-busted-loader-plugin.ts
2024-10-04 13:08:31 +08:00

33 lines
614 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);
}
}