UNPKG

@woosh/meep-engine

Version:

Pure JavaScript game engine. Fully featured and production ready.

32 lines (30 loc) 968 B
/** * * @param {Texture} t * @returns {Promise<Texture>} */ function promiseTextureLoaded(t) { return new Promise(function (resolve, reject) { let image = t.image; if (image === undefined) { //FIXME this is not a pleasant logic which should be replaced. THREE.js v75 (current) does not offer a better way. Object.defineProperty(t, 'image', { set: function (i) { image = i; resolve(); }, get: function () { return image; } }); } else if (image.complete) { resolve(t); } else if (typeof image.addEventListener === "function") { image.addEventListener('load', resolve); image.addEventListener('error', reject); } else { resolve(); } }) } export { promiseTextureLoaded };