diff --git a/front/src/Phaser/Entity/PlayerTexturesLoadingManager.ts b/front/src/Phaser/Entity/PlayerTexturesLoadingManager.ts index c7992ad5..c0740b23 100644 --- a/front/src/Phaser/Entity/PlayerTexturesLoadingManager.ts +++ b/front/src/Phaser/Entity/PlayerTexturesLoadingManager.ts @@ -26,12 +26,7 @@ export const loadAllDefaultModels = (load: LoaderPlugin): BodyResourceDescriptio export const loadCustomTexture = (loaderPlugin: LoaderPlugin, texture: CharacterTexture) : Promise => { const name = 'customCharacterTexture'+texture.id; const playerResourceDescriptor: BodyResourceDescriptionInterface = {name, img: texture.url, level: texture.level} - return new Promise((solve) => { - loaderPlugin.spritesheet(playerResourceDescriptor.name, playerResourceDescriptor.img, {frameWidth: 32, frameHeight: 32}); - solve(playerResourceDescriptor); - }); - //TODO refactor and use lasy loading - //return createLoadingPromise(loaderPlugin, {name, img: texture.url, level: texture.level}); + return createLoadingPromise(loaderPlugin, playerResourceDescriptor); } export const lazyLoadPlayerCharacterTextures = (loadPlugin: LoaderPlugin, texturePlugin: TextureManager, texturekeys:Array): Promise => { @@ -75,6 +70,10 @@ export const getRessourceDescriptor = (textureKey: string|BodyResourceDescriptio const createLoadingPromise = (loadPlugin: LoaderPlugin, playerResourceDescriptor: BodyResourceDescriptionInterface) => { return new Promise((res) => { + const texture = loadPlugin.textureManager.get(playerResourceDescriptor.name); + if(texture.key !== '__MISSING'){ + return res(playerResourceDescriptor); + } loadPlugin.spritesheet(playerResourceDescriptor.name, playerResourceDescriptor.img, {frameWidth: 32, frameHeight: 32}); loadPlugin.once('filecomplete-spritesheet-'+playerResourceDescriptor.name, () => res(playerResourceDescriptor)); });