From ce3e5eb1a3a5420dd2a6b18b74d6fbdc021000d8 Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Tue, 26 Sep 2017 18:56:27 -0700 Subject: [PATCH] set grabbable and other checkboxes correctly if userData is blank or malformed. near-trigger blocks near-grab --- .../controllerModules/nearTrigger.js | 2 +- scripts/system/html/js/entityProperties.js | 25 ++++++++++++++++--- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/scripts/system/controllers/controllerModules/nearTrigger.js b/scripts/system/controllers/controllerModules/nearTrigger.js index 09ba5b9430..56a4e93495 100644 --- a/scripts/system/controllers/controllerModules/nearTrigger.js +++ b/scripts/system/controllers/controllerModules/nearTrigger.js @@ -29,7 +29,7 @@ Script.include("/~/system/libraries/controllerDispatcherUtils.js"); this.startSent = false; this.parameters = makeDispatcherModuleParameters( - 520, + 480, this.hand === RIGHT_HAND ? ["rightHandTrigger", "rightHand"] : ["leftHandTrigger", "leftHand"], [], 100); diff --git a/scripts/system/html/js/entityProperties.js b/scripts/system/html/js/entityProperties.js index 58173a794c..aad26cc7ba 100644 --- a/scripts/system/html/js/entityProperties.js +++ b/scripts/system/html/js/entityProperties.js @@ -840,40 +840,59 @@ function loaded() { elCloneableLimit.value = 0; elCloneableLifetime.value = 300; + var grabbablesSet = false; var parsedUserData = {} try { parsedUserData = JSON.parse(properties.userData); if ("grabbableKey" in parsedUserData) { + grabbablesSet = true; var grabbableData = parsedUserData["grabbableKey"]; if ("grabbable" in grabbableData) { elGrabbable.checked = grabbableData.grabbable; + } else { + elGrabbable.checked = true; } if ("wantsTrigger" in grabbableData) { elWantsTrigger.checked = grabbableData.wantsTrigger; + } else { + elWantsTrigger.checked = false; } if ("ignoreIK" in grabbableData) { elIgnoreIK.checked = grabbableData.ignoreIK; + } else { + elIgnoreIK.checked = true; } if ("cloneable" in grabbableData) { elCloneable.checked = grabbableData.cloneable; elCloneableGroup.style.display = elCloneable.checked ? "block": "none"; - elCloneableDynamic.checked = grabbableData.cloneDynamic ? grabbableData.cloneDynamic : properties.dynamic; + elCloneableDynamic.checked = + grabbableData.cloneDynamic ? grabbableData.cloneDynamic : properties.dynamic; if (elCloneable.checked) { if ("cloneLifetime" in grabbableData) { - elCloneableLifetime.value = grabbableData.cloneLifetime ? grabbableData.cloneLifetime : 300; + elCloneableLifetime.value = + grabbableData.cloneLifetime ? grabbableData.cloneLifetime : 300; } if ("cloneLimit" in grabbableData) { elCloneableLimit.value = grabbableData.cloneLimit ? grabbableData.cloneLimit : 0; } if ("cloneAvatarEntity" in grabbableData) { - elCloneableAvatarEntity.checked = grabbableData.cloneAvatarEntity ? grabbableData.cloneAvatarEntity : false; + elCloneableAvatarEntity.checked = + grabbableData.cloneAvatarEntity ? grabbableData.cloneAvatarEntity : false; } } + } else { + elCloneable.checked = false; } } } catch (e) { } + if (!grabbablesSet) { + elGrabbable.checked = true; + elWantsTrigger.checked = false; + elIgnoreIK.checked = true; + elCloneable.checked = false; + } elCollisionSoundURL.value = properties.collisionSoundURL; elLifetime.value = properties.lifetime;