Load files from manifest for caching
This commit is contained in:
1 parent
e608cb6738
commit
ba71d2750b
11 files changed
+77
-46
No files matched your search
@@ -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);
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user