prevent multiple image loads
This commit is contained in:
parent
a4cbaa9d0d
commit
80c87511bd
2 changed files with 35 additions and 27 deletions
|
|
@ -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 |
Loading…
Reference in a new issue