mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-07-24 01:14:15 +02:00
set grabbable and other checkboxes correctly if userData is blank or malformed. near-trigger blocks near-grab
This commit is contained in:
parent
f384cde471
commit
ce3e5eb1a3
2 changed files with 23 additions and 4 deletions
|
@ -29,7 +29,7 @@ Script.include("/~/system/libraries/controllerDispatcherUtils.js");
|
||||||
this.startSent = false;
|
this.startSent = false;
|
||||||
|
|
||||||
this.parameters = makeDispatcherModuleParameters(
|
this.parameters = makeDispatcherModuleParameters(
|
||||||
520,
|
480,
|
||||||
this.hand === RIGHT_HAND ? ["rightHandTrigger", "rightHand"] : ["leftHandTrigger", "leftHand"],
|
this.hand === RIGHT_HAND ? ["rightHandTrigger", "rightHand"] : ["leftHandTrigger", "leftHand"],
|
||||||
[],
|
[],
|
||||||
100);
|
100);
|
||||||
|
|
|
@ -840,40 +840,59 @@ function loaded() {
|
||||||
elCloneableLimit.value = 0;
|
elCloneableLimit.value = 0;
|
||||||
elCloneableLifetime.value = 300;
|
elCloneableLifetime.value = 300;
|
||||||
|
|
||||||
|
var grabbablesSet = false;
|
||||||
var parsedUserData = {}
|
var parsedUserData = {}
|
||||||
try {
|
try {
|
||||||
parsedUserData = JSON.parse(properties.userData);
|
parsedUserData = JSON.parse(properties.userData);
|
||||||
|
|
||||||
if ("grabbableKey" in parsedUserData) {
|
if ("grabbableKey" in parsedUserData) {
|
||||||
|
grabbablesSet = true;
|
||||||
var grabbableData = parsedUserData["grabbableKey"];
|
var grabbableData = parsedUserData["grabbableKey"];
|
||||||
if ("grabbable" in grabbableData) {
|
if ("grabbable" in grabbableData) {
|
||||||
elGrabbable.checked = grabbableData.grabbable;
|
elGrabbable.checked = grabbableData.grabbable;
|
||||||
|
} else {
|
||||||
|
elGrabbable.checked = true;
|
||||||
}
|
}
|
||||||
if ("wantsTrigger" in grabbableData) {
|
if ("wantsTrigger" in grabbableData) {
|
||||||
elWantsTrigger.checked = grabbableData.wantsTrigger;
|
elWantsTrigger.checked = grabbableData.wantsTrigger;
|
||||||
|
} else {
|
||||||
|
elWantsTrigger.checked = false;
|
||||||
}
|
}
|
||||||
if ("ignoreIK" in grabbableData) {
|
if ("ignoreIK" in grabbableData) {
|
||||||
elIgnoreIK.checked = grabbableData.ignoreIK;
|
elIgnoreIK.checked = grabbableData.ignoreIK;
|
||||||
|
} else {
|
||||||
|
elIgnoreIK.checked = true;
|
||||||
}
|
}
|
||||||
if ("cloneable" in grabbableData) {
|
if ("cloneable" in grabbableData) {
|
||||||
elCloneable.checked = grabbableData.cloneable;
|
elCloneable.checked = grabbableData.cloneable;
|
||||||
elCloneableGroup.style.display = elCloneable.checked ? "block": "none";
|
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 (elCloneable.checked) {
|
||||||
if ("cloneLifetime" in grabbableData) {
|
if ("cloneLifetime" in grabbableData) {
|
||||||
elCloneableLifetime.value = grabbableData.cloneLifetime ? grabbableData.cloneLifetime : 300;
|
elCloneableLifetime.value =
|
||||||
|
grabbableData.cloneLifetime ? grabbableData.cloneLifetime : 300;
|
||||||
}
|
}
|
||||||
if ("cloneLimit" in grabbableData) {
|
if ("cloneLimit" in grabbableData) {
|
||||||
elCloneableLimit.value = grabbableData.cloneLimit ? grabbableData.cloneLimit : 0;
|
elCloneableLimit.value = grabbableData.cloneLimit ? grabbableData.cloneLimit : 0;
|
||||||
}
|
}
|
||||||
if ("cloneAvatarEntity" in grabbableData) {
|
if ("cloneAvatarEntity" in grabbableData) {
|
||||||
elCloneableAvatarEntity.checked = grabbableData.cloneAvatarEntity ? grabbableData.cloneAvatarEntity : false;
|
elCloneableAvatarEntity.checked =
|
||||||
|
grabbableData.cloneAvatarEntity ? grabbableData.cloneAvatarEntity : false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
elCloneable.checked = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
}
|
}
|
||||||
|
if (!grabbablesSet) {
|
||||||
|
elGrabbable.checked = true;
|
||||||
|
elWantsTrigger.checked = false;
|
||||||
|
elIgnoreIK.checked = true;
|
||||||
|
elCloneable.checked = false;
|
||||||
|
}
|
||||||
|
|
||||||
elCollisionSoundURL.value = properties.collisionSoundURL;
|
elCollisionSoundURL.value = properties.collisionSoundURL;
|
||||||
elLifetime.value = properties.lifetime;
|
elLifetime.value = properties.lifetime;
|
||||||
|
|
Loading…
Reference in a new issue