mirror of
https://github.com/overte-org/overte.git
synced 2025-08-09 05:58:27 +02:00
Merge branch 'master' of github.com:highfidelity/hifi into interstitial-final-page
This commit is contained in:
commit
478bb88c69
2 changed files with 22 additions and 13 deletions
|
@ -126,8 +126,8 @@
|
||||||
<label for="property-grabbable">Grabbable</label>
|
<label for="property-grabbable">Grabbable</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="property checkbox">
|
<div class="property checkbox">
|
||||||
<input type="checkbox" id="property-wants-trigger">
|
<input type="checkbox" id="property-triggerable">
|
||||||
<label for="property-wants-trigger">Triggerable</label>
|
<label for="property-triggerable">Triggerable</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="property checkbox">
|
<div class="property checkbox">
|
||||||
<input type="checkbox" id="property-cloneable">
|
<input type="checkbox" id="property-cloneable">
|
||||||
|
|
|
@ -308,9 +308,10 @@ function setUserDataFromEditor(noUpdate) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function multiDataUpdater(groupName, updateKeyPair, userDataElement, defaults) {
|
function multiDataUpdater(groupName, updateKeyPair, userDataElement, defaults, removeKeys) {
|
||||||
var properties = {};
|
var properties = {};
|
||||||
var parsedData = {};
|
var parsedData = {};
|
||||||
|
var keysToBeRemoved = removeKeys ? removeKeys : [];
|
||||||
try {
|
try {
|
||||||
if ($('#userdata-editor').css('height') !== "0px") {
|
if ($('#userdata-editor').css('height') !== "0px") {
|
||||||
// if there is an expanded, we want to use its json.
|
// if there is an expanded, we want to use its json.
|
||||||
|
@ -342,6 +343,12 @@ function multiDataUpdater(groupName, updateKeyPair, userDataElement, defaults) {
|
||||||
parsedData[groupName][key] = defaults[key];
|
parsedData[groupName][key] = defaults[key];
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
keysToBeRemoved.forEach(function(key) {
|
||||||
|
if (parsedData[groupName].hasOwnProperty(key)) {
|
||||||
|
delete parsedData[groupName][key];
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
if (Object.keys(parsedData[groupName]).length === 0) {
|
if (Object.keys(parsedData[groupName]).length === 0) {
|
||||||
delete parsedData[groupName];
|
delete parsedData[groupName];
|
||||||
}
|
}
|
||||||
|
@ -355,11 +362,11 @@ function multiDataUpdater(groupName, updateKeyPair, userDataElement, defaults) {
|
||||||
|
|
||||||
updateProperties(properties);
|
updateProperties(properties);
|
||||||
}
|
}
|
||||||
function userDataChanger(groupName, keyName, values, userDataElement, defaultValue) {
|
function userDataChanger(groupName, keyName, values, userDataElement, defaultValue, removeKeys) {
|
||||||
var val = {}, def = {};
|
var val = {}, def = {};
|
||||||
val[keyName] = values;
|
val[keyName] = values;
|
||||||
def[keyName] = defaultValue;
|
def[keyName] = defaultValue;
|
||||||
multiDataUpdater(groupName, val, userDataElement, def);
|
multiDataUpdater(groupName, val, userDataElement, def, removeKeys);
|
||||||
}
|
}
|
||||||
|
|
||||||
function setMaterialDataFromEditor(noUpdate) {
|
function setMaterialDataFromEditor(noUpdate) {
|
||||||
|
@ -711,7 +718,7 @@ function loaded() {
|
||||||
var elCloneableLifetime = document.getElementById("property-cloneable-lifetime");
|
var elCloneableLifetime = document.getElementById("property-cloneable-lifetime");
|
||||||
var elCloneableLimit = document.getElementById("property-cloneable-limit");
|
var elCloneableLimit = document.getElementById("property-cloneable-limit");
|
||||||
|
|
||||||
var elWantsTrigger = document.getElementById("property-wants-trigger");
|
var elTriggerable = document.getElementById("property-triggerable");
|
||||||
var elIgnoreIK = document.getElementById("property-ignore-ik");
|
var elIgnoreIK = document.getElementById("property-ignore-ik");
|
||||||
|
|
||||||
var elLifetime = document.getElementById("property-lifetime");
|
var elLifetime = document.getElementById("property-lifetime");
|
||||||
|
@ -1234,7 +1241,7 @@ function loaded() {
|
||||||
|
|
||||||
elGrabbable.checked = properties.dynamic;
|
elGrabbable.checked = properties.dynamic;
|
||||||
|
|
||||||
elWantsTrigger.checked = false;
|
elTriggerable.checked = false;
|
||||||
elIgnoreIK.checked = true;
|
elIgnoreIK.checked = true;
|
||||||
|
|
||||||
elCloneable.checked = properties.cloneable;
|
elCloneable.checked = properties.cloneable;
|
||||||
|
@ -1257,10 +1264,12 @@ function loaded() {
|
||||||
} else {
|
} else {
|
||||||
elGrabbable.checked = true;
|
elGrabbable.checked = true;
|
||||||
}
|
}
|
||||||
if ("wantsTrigger" in grabbableData) {
|
if ("triggerable" in grabbableData) {
|
||||||
elWantsTrigger.checked = grabbableData.wantsTrigger;
|
elTriggerable.checked = grabbableData.triggerable;
|
||||||
|
} else if ("wantsTrigger" in grabbableData) {
|
||||||
|
elTriggerable.checked = grabbableData.wantsTrigger;
|
||||||
} else {
|
} else {
|
||||||
elWantsTrigger.checked = false;
|
elTriggerable.checked = false;
|
||||||
}
|
}
|
||||||
if ("ignoreIK" in grabbableData) {
|
if ("ignoreIK" in grabbableData) {
|
||||||
elIgnoreIK.checked = grabbableData.ignoreIK;
|
elIgnoreIK.checked = grabbableData.ignoreIK;
|
||||||
|
@ -1273,7 +1282,7 @@ function loaded() {
|
||||||
}
|
}
|
||||||
if (!grabbablesSet) {
|
if (!grabbablesSet) {
|
||||||
elGrabbable.checked = true;
|
elGrabbable.checked = true;
|
||||||
elWantsTrigger.checked = false;
|
elTriggerable.checked = false;
|
||||||
elIgnoreIK.checked = true;
|
elIgnoreIK.checked = true;
|
||||||
elCloneable.checked = false;
|
elCloneable.checked = false;
|
||||||
}
|
}
|
||||||
|
@ -1647,8 +1656,8 @@ function loaded() {
|
||||||
elCloneableLifetime.addEventListener('change', createEmitNumberPropertyUpdateFunction('cloneLifetime'));
|
elCloneableLifetime.addEventListener('change', createEmitNumberPropertyUpdateFunction('cloneLifetime'));
|
||||||
elCloneableLimit.addEventListener('change', createEmitNumberPropertyUpdateFunction('cloneLimit'));
|
elCloneableLimit.addEventListener('change', createEmitNumberPropertyUpdateFunction('cloneLimit'));
|
||||||
|
|
||||||
elWantsTrigger.addEventListener('change', function() {
|
elTriggerable.addEventListener('change', function() {
|
||||||
userDataChanger("grabbableKey", "wantsTrigger", elWantsTrigger, elUserData, false);
|
userDataChanger("grabbableKey", "triggerable", elTriggerable, elUserData, false, ['wantsTrigger']);
|
||||||
});
|
});
|
||||||
elIgnoreIK.addEventListener('change', function() {
|
elIgnoreIK.addEventListener('change', function() {
|
||||||
userDataChanger("grabbableKey", "ignoreIK", elIgnoreIK, elUserData, true);
|
userDataChanger("grabbableKey", "ignoreIK", elIgnoreIK, elUserData, true);
|
||||||
|
|
Loading…
Reference in a new issue