Skip to content

Commit 33483cb

Browse files
committed
Avoid conflict deviceClass for ETrackedDeviceClass.DisplayRedirect & VRModuleDeviceClass.TrackedHand
1 parent f79d339 commit 33483cb

2 files changed

Lines changed: 14 additions & 2 deletions

File tree

Assets/HTC.UnityPlugin/VRModule/Modules/SteamVRModule.cs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,18 @@ public void Clear()
106106
for (int i = module2tracked.Length - 1; i >= 0; --i) { module2tracked[i] = OpenVR.k_unTrackedDeviceIndexInvalid; }
107107
}
108108
}
109+
110+
public static VRModuleDeviceClass ToVRModuleDeviceClass(ETrackedDeviceClass deviceClass)
111+
{
112+
switch (deviceClass)
113+
{
114+
case ETrackedDeviceClass.HMD: return VRModuleDeviceClass.HMD;
115+
case ETrackedDeviceClass.Controller: return VRModuleDeviceClass.Controller;
116+
case ETrackedDeviceClass.GenericTracker: return VRModuleDeviceClass.GenericTracker;
117+
case ETrackedDeviceClass.TrackingReference: return VRModuleDeviceClass.TrackingReference;
118+
default: return VRModuleDeviceClass.Invalid;
119+
}
120+
}
109121
#endif
110122

111123
#if VIU_STEAMVR && UNITY_STANDALONE
@@ -423,7 +435,7 @@ private void UpdateConnectedDevice(TrackedDevicePose_t[] poses)
423435
{
424436
m_openvrCtrlRoleDirty = true;
425437
currState.isConnected = true;
426-
currState.deviceClass = (VRModuleDeviceClass)vrSystem.GetTrackedDeviceClass(trackedIndex);
438+
currState.deviceClass = ToVRModuleDeviceClass(vrSystem.GetTrackedDeviceClass(i));
427439
currState.serialNumber = QueryDeviceStringProperty(vrSystem, trackedIndex, ETrackedDeviceProperty.Prop_SerialNumber_String);
428440
currState.modelNumber = QueryDeviceStringProperty(vrSystem, trackedIndex, ETrackedDeviceProperty.Prop_ModelNumber_String);
429441
currState.renderModelName = QueryDeviceStringProperty(vrSystem, trackedIndex, ETrackedDeviceProperty.Prop_RenderModelName_String);

Assets/HTC.UnityPlugin/VRModule/Modules/SteamVRv2Module.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -420,7 +420,7 @@ private void UpdateDeviceConnectionAndPose(bool obj)
420420
if (!prevState.isConnected)
421421
{
422422
currState.isConnected = true;
423-
currState.deviceClass = (VRModuleDeviceClass)vrSystem.GetTrackedDeviceClass(i);
423+
currState.deviceClass = ToVRModuleDeviceClass(vrSystem.GetTrackedDeviceClass(i));
424424
currState.serialNumber = QueryDeviceStringProperty(vrSystem, i, ETrackedDeviceProperty.Prop_SerialNumber_String);
425425
currState.modelNumber = QueryDeviceStringProperty(vrSystem, i, ETrackedDeviceProperty.Prop_ModelNumber_String);
426426
currState.renderModelName = QueryDeviceStringProperty(vrSystem, i, ETrackedDeviceProperty.Prop_RenderModelName_String);

0 commit comments

Comments
 (0)