mirror of
https://github.com/JulianGro/overte.git
synced 2025-04-29 19:22:57 +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();'>
|
<body onload='loaded();'>
|
||||||
<div id="properties-list">
|
<div id="properties-list">
|
||||||
|
<!-- each property is added at runtime in entityProperties -->
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
|
|
|
@ -1059,13 +1059,13 @@ const GROUPS = [
|
||||||
{
|
{
|
||||||
label: "Grabbable",
|
label: "Grabbable",
|
||||||
type: "bool",
|
type: "bool",
|
||||||
propertyID: "grabbable",
|
propertyID: "grab.grabbable",
|
||||||
column: 1,
|
column: 1,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "Triggerable",
|
label: "Triggerable",
|
||||||
type: "bool",
|
type: "bool",
|
||||||
propertyID: "triggerable",
|
propertyID: "grab.triggerable",
|
||||||
column: 2,
|
column: 2,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -1075,9 +1075,9 @@ const GROUPS = [
|
||||||
column: 1,
|
column: 1,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "Ignore inverse kinematics",
|
label: "Follow Controller",
|
||||||
type: "bool",
|
type: "bool",
|
||||||
propertyID: "ignoreIK",
|
propertyID: "grab.grabFollowsController",
|
||||||
column: 2,
|
column: 2,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -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") {
|
if (selectedEntityProperties.type === "Image") {
|
||||||
let imageLink = JSON.parse(selectedEntityProperties.textures)["tex.picture"];
|
let imageLink = JSON.parse(selectedEntityProperties.textures)["tex.picture"];
|
||||||
getPropertyInputElement("image").value = imageLink;
|
getPropertyInputElement("image").value = imageLink;
|
||||||
|
@ -3119,20 +3079,6 @@ function loaded() {
|
||||||
elDiv.insertBefore(elStaticMaterialData, elMaterialData);
|
elDiv.insertBefore(elStaticMaterialData, elMaterialData);
|
||||||
elDiv.insertBefore(elMaterialDataEditor, 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
|
// Special Property Callbacks
|
||||||
let elParentMaterialNameString = getPropertyInputElement("materialNameToReplace");
|
let elParentMaterialNameString = getPropertyInputElement("materialNameToReplace");
|
||||||
let elParentMaterialNameNumber = getPropertyInputElement("submeshToReplace");
|
let elParentMaterialNameNumber = getPropertyInputElement("submeshToReplace");
|
||||||
|
|
Loading…
Reference in a new issue