12345678910111213141516171819202122232425262728293031323334 |
- using UnityEngine.InputSystem.Controls;
- using UnityEngine.InputSystem.Layouts;
- using UnityEngine.Scripting;
-
- namespace UnityEngine.InputSystem
- {
- /// <summary>
- /// An input device that has its orientation and position in space tracked.
- /// </summary>
- /// <seealso cref="UnityEngine.InputSystem.XR.XRController"/>
- /// <seealso cref="UnityEngine.InputSystem.XR.XRHMD"/>
- [InputControlLayout(displayName = "Tracked Device", isGenericTypeOfDevice = true)]
- public class TrackedDevice : InputDevice
- {
- [InputControl(synthetic = true)]
- public IntegerControl trackingState { get; protected set; }
- [InputControl(synthetic = true)]
- public ButtonControl isTracked { get; protected set; }
- [InputControl(noisy = true, dontReset = true)]
- public Vector3Control devicePosition { get; protected set; }
- [InputControl(noisy = true, dontReset = true)]
- public QuaternionControl deviceRotation { get; protected set; }
-
- protected override void FinishSetup()
- {
- base.FinishSetup();
-
- trackingState = GetChildControl<IntegerControl>("trackingState");
- isTracked = GetChildControl<ButtonControl>("isTracked");
- devicePosition = GetChildControl<Vector3Control>("devicePosition");
- deviceRotation = GetChildControl<QuaternionControl>("deviceRotation");
- }
- }
- }
|