Advertisement
Guest User

Untitled

a guest
Oct 24th, 2016
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.00 KB | None | 0 0
  1. import Utils from './Utils';
  2.  
  3. let assetLoaderInstance;
  4.  
  5. export default class AssetsLoader {
  6. constructor() {
  7. if(!assetLoaderInstance) {
  8. console.log('AssetsLoader instance created');
  9. this.assets = {};
  10. assetLoaderInstance = this;
  11. }
  12.  
  13. return assetLoaderInstance;
  14. }
  15. load(assets) {
  16. let self = this;
  17. let imageFiles = /jpe?g$|gif$|png$|svg$/;
  18. let audioFiles = /wav$|mp3$/;
  19. let files = [];
  20. let details;
  21. let ext;
  22. let name;
  23. let file;
  24.  
  25. for(let asset of assets) {
  26. details = asset.split('/').pop().split('.');
  27. ext = details.pop();
  28. name = details.shift();
  29. if(ext.match(imageFiles)) {
  30. // load an image file
  31. file = new Image();
  32. file.src = asset;
  33. } else if(ext.match(audioFiles)) {
  34. // load an audio file
  35. file = new Audio(asset)
  36. }
  37. files.push(file);
  38.  
  39. this.assets[Utils.camelize(name)] = file;
  40. }
  41.  
  42. return Promise.all(files).then(function() {
  43. return self.assets;
  44. });
  45. }
  46. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement