mirror of
https://github.com/JulianGro/overte.git
synced 2025-04-25 18:55:01 +02:00
Move grab pseudo-properties (userData) into first-class EntityItemProperties.
This commit is contained in:
parent
f13008dbe9
commit
7f150e6ed3
2 changed files with 6 additions and 59 deletions
|
@ -27,6 +27,7 @@
|
|||
|
||||
<body onload='loaded();'>
|
||||
<div id="properties-list">
|
||||
<!-- each property is added at runtime in entityProperties -->
|
||||
</div>
|
||||
</body>
|
||||
|
||||
|
|
|
@ -1059,13 +1059,13 @@ const GROUPS = [
|
|||
{
|
||||
label: "Grabbable",
|
||||
type: "bool",
|
||||
propertyID: "grabbable",
|
||||
propertyID: "grab.grabbable",
|
||||
column: 1,
|
||||
},
|
||||
{
|
||||
label: "Triggerable",
|
||||
type: "bool",
|
||||
propertyID: "triggerable",
|
||||
propertyID: "grab.triggerable",
|
||||
column: 2,
|
||||
},
|
||||
{
|
||||
|
@ -1075,9 +1075,9 @@ const GROUPS = [
|
|||
column: 1,
|
||||
},
|
||||
{
|
||||
label: "Ignore inverse kinematics",
|
||||
label: "Follow Controller",
|
||||
type: "bool",
|
||||
propertyID: "ignoreIK",
|
||||
propertyID: "grab.grabFollowsController",
|
||||
column: 2,
|
||||
},
|
||||
{
|
||||
|
@ -2767,7 +2767,7 @@ function loaded() {
|
|||
showUserDataTextArea();
|
||||
showSaveUserDataButton();
|
||||
showNewJSONEditorButton();
|
||||
|
||||
|
||||
deleteJSONMaterialEditor();
|
||||
getPropertyInputElement("materialData").value = "";
|
||||
showMaterialDataTextArea();
|
||||
|
@ -2937,46 +2937,6 @@ function loaded() {
|
|||
}
|
||||
}
|
||||
|
||||
let elGrabbable = getPropertyInputElement("grabbable");
|
||||
let elTriggerable = getPropertyInputElement("triggerable");
|
||||
let elIgnoreIK = getPropertyInputElement("ignoreIK");
|
||||
elGrabbable.checked = getPropertyInputElement("dynamic").checked;
|
||||
elTriggerable.checked = false;
|
||||
elIgnoreIK.checked = true;
|
||||
let grabbablesSet = false;
|
||||
let parsedUserData = {};
|
||||
try {
|
||||
parsedUserData = JSON.parse(selectedEntityProperties.userData);
|
||||
if ("grabbableKey" in parsedUserData) {
|
||||
grabbablesSet = true;
|
||||
let grabbableData = parsedUserData.grabbableKey;
|
||||
if ("grabbable" in grabbableData) {
|
||||
elGrabbable.checked = grabbableData.grabbable;
|
||||
} else {
|
||||
elGrabbable.checked = true;
|
||||
}
|
||||
if ("triggerable" in grabbableData) {
|
||||
elTriggerable.checked = grabbableData.triggerable;
|
||||
} else if ("wantsTrigger" in grabbableData) {
|
||||
elTriggerable.checked = grabbableData.wantsTrigger;
|
||||
} else {
|
||||
elTriggerable.checked = false;
|
||||
}
|
||||
if ("ignoreIK" in grabbableData) {
|
||||
elIgnoreIK.checked = grabbableData.ignoreIK;
|
||||
} else {
|
||||
elIgnoreIK.checked = true;
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
// TODO: What should go here?
|
||||
}
|
||||
if (!grabbablesSet) {
|
||||
elGrabbable.checked = true;
|
||||
elTriggerable.checked = false;
|
||||
elIgnoreIK.checked = true;
|
||||
}
|
||||
|
||||
if (selectedEntityProperties.type === "Image") {
|
||||
let imageLink = JSON.parse(selectedEntityProperties.textures)["tex.picture"];
|
||||
getPropertyInputElement("image").value = imageLink;
|
||||
|
@ -3119,20 +3079,6 @@ function loaded() {
|
|||
elDiv.insertBefore(elStaticMaterialData, elMaterialData);
|
||||
elDiv.insertBefore(elMaterialDataEditor, elMaterialData);
|
||||
|
||||
// User Data Fields
|
||||
let elGrabbable = getPropertyInputElement("grabbable");
|
||||
let elTriggerable = getPropertyInputElement("triggerable");
|
||||
let elIgnoreIK = getPropertyInputElement("ignoreIK");
|
||||
elGrabbable.addEventListener('change', function() {
|
||||
userDataChanger("grabbableKey", "grabbable", elGrabbable, elUserData, true);
|
||||
});
|
||||
elTriggerable.addEventListener('change', function() {
|
||||
userDataChanger("grabbableKey", "triggerable", elTriggerable, elUserData, false, ['wantsTrigger']);
|
||||
});
|
||||
elIgnoreIK.addEventListener('change', function() {
|
||||
userDataChanger("grabbableKey", "ignoreIK", elIgnoreIK, elUserData, true);
|
||||
});
|
||||
|
||||
// Special Property Callbacks
|
||||
let elParentMaterialNameString = getPropertyInputElement("materialNameToReplace");
|
||||
let elParentMaterialNameNumber = getPropertyInputElement("submeshToReplace");
|
||||
|
|
Loading…
Reference in a new issue