mirror of
https://github.com/JulianGro/overte.git
synced 2025-04-25 17:35:08 +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.parameters = makeDispatcherModuleParameters(
|
||||
520,
|
||||
480,
|
||||
this.hand === RIGHT_HAND ? ["rightHandTrigger", "rightHand"] : ["leftHandTrigger", "leftHand"],
|
||||
[],
|
||||
100);
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue