mirror of
https://github.com/overte-org/overte.git
synced 2025-04-15 16:02:08 +02:00
Update controller display to support non-string hardware resolution
This commit is contained in:
parent
b835fc7ada
commit
53fb0a95fe
2 changed files with 12 additions and 8 deletions
|
@ -21,14 +21,17 @@ function clamp(value, min, max) {
|
|||
}
|
||||
|
||||
function resolveHardware(path) {
|
||||
var parts = path.split(".");
|
||||
function resolveInner(base, path, i) {
|
||||
if (i >= path.length) {
|
||||
return base;
|
||||
if (typeof path === 'string') {
|
||||
var parts = path.split(".");
|
||||
function resolveInner(base, path, i) {
|
||||
if (i >= path.length) {
|
||||
return base;
|
||||
}
|
||||
return resolveInner(base[path[i]], path, ++i);
|
||||
}
|
||||
return resolveInner(base[path[i]], path, ++i);
|
||||
return resolveInner(Controller.Hardware, parts, 0);
|
||||
}
|
||||
return resolveInner(Controller.Hardware, parts, 0);
|
||||
return path;
|
||||
}
|
||||
|
||||
var DEBUG = true;
|
||||
|
@ -132,7 +135,9 @@ createControllerDisplay = function(config) {
|
|||
overlayID = Overlays.addOverlay("model", properties);
|
||||
|
||||
if (part.type === "rotational") {
|
||||
mapping.from([part.input]).peek().to(function(controller, overlayID, part) {
|
||||
var input = resolveHardware(part.input);
|
||||
print("Mapping to: ", part.input, input);
|
||||
mapping.from([input]).peek().to(function(controller, overlayID, part) {
|
||||
return function(value) {
|
||||
value = clamp(value, part.minValue, part.maxValue);
|
||||
|
||||
|
|
|
@ -83,7 +83,6 @@ VIVE_CONTROLLER_CONFIGURATION_LEFT = {
|
|||
naturalPosition: {"x":-0.004377640783786774,"y":-0.034371938556432724,"z":0.06769277155399323},
|
||||
|
||||
textureName: "Tex.Blank",
|
||||
|
||||
defaultTextureLayer: "blank",
|
||||
textureLayers: {
|
||||
blank: {
|
||||
|
|
Loading…
Reference in a new issue