prevent multiple image loads

This commit is contained in:
Stewart Allen 2020-11-28 13:12:07 -05:00
commit 80c87511bd
2 changed files with 35 additions and 27 deletions

View file

@ -46,7 +46,8 @@
platform = API.platform, platform = API.platform,
selection = API.selection; selection = API.selection;
let deviceImage = null, let deviceURL = null,
deviceImage = null,
deviceLock = false, deviceLock = false,
selectedTool = null, selectedTool = null,
editTools = null, editTools = null,
@ -735,11 +736,28 @@
API.conf.save(); API.conf.save();
if (deviceImage) { if (dev.imageURL) {
if (dev.imageURL !== deviceURL) {
deviceURL = dev.imageURL;
loadDeviceImage(dev);
}
} else if (deviceImage) {
SPACE.world.remove(deviceImage); SPACE.world.remove(deviceImage);
deviceImage = null; deviceImage = null;
deviceURL = null;
} }
if (dev.imageURL) { } catch (e) {
console.log({error:e, device:code, devicename});
API.show.alert(`invalid or deprecated device: "${devicename}"`, 10);
API.show.alert(`please select a new device`, 10);
throw e;
showDevices();
}
API.function.clear();
API.event.settings();
}
function loadDeviceImage(dev) {
new THREE.TextureLoader().load(dev.imageURL, texture => { new THREE.TextureLoader().load(dev.imageURL, texture => {
if (deviceImage) { if (deviceImage) {
SPACE.world.remove(deviceImage); SPACE.world.remove(deviceImage);
@ -764,16 +782,6 @@
SPACE.world.add(deviceImage = mesh); SPACE.world.add(deviceImage = mesh);
}); });
} }
} catch (e) {
console.log({error:e, device:code, devicename});
API.show.alert(`invalid or deprecated device: "${devicename}"`, 10);
API.show.alert(`please select a new device`, 10);
throw e;
showDevices();
}
API.function.clear();
API.event.settings();
}
function updateDeviceName() { function updateDeviceName() {
let newname = UI.deviceName.value, let newname = UI.deviceName.value,

Binary file not shown.

Before

Width:  |  Height:  |  Size: 742 KiB

After

Width:  |  Height:  |  Size: 884 KiB

Before After
Before After