/**
* @author Wolfgang Kowarschick <kowa@hs-augsburg.de>
* @copyright 2017 - 2018
* @license CC-BY-NC-SA-4.0
*/
/**
* @module wk_pixi/loader/LoadResources
*/
import {loader, Spritesheet} from 'pixi.js';
/**
* @function loadResources
* @static
*
* Asynchronously loads all resources that have been added to the Pixi
* loader by means of <code>loader.add(...)</code>.
* @returns {Promise<any>}
*/
function loadResources(p_spritesheets_json = [])
{ return new Promise
( p_resolve =>
loader
.load((p_loader, p_resources) =>
{ let l_to_do = p_spritesheets_json.length;
if (l_to_do === 0)
{ p_resolve(p_resources); }
for (let l_json of p_spritesheets_json)
{ const
c_name = l_json.meta.imageName;
new Spritesheet(p_resources[c_name].texture.baseTexture, l_json)
.parse((p_textures) =>
{ p_resources[c_name] =
{ textures: p_textures,
animations: l_json.animations
};
for (let [l_key, l_value] of Object.entries(p_textures))
{ p_resources[l_key] = { texture: l_value}; }
l_to_do--;
if (l_to_do === 0)
{ p_resolve(p_resources); }
}
)
}
}
)
);
}
export {loadResources};
export default loadResources;