/// <inheritdoc /> public override void Enable() { if (!IsActiveLoader) { IsEnabled = false; return; } base.Enable(); if (WindowsMixedRealityUtilities.UtilitiesProvider == null) { WindowsMixedRealityUtilities.UtilitiesProvider = new XRSDKWindowsMixedRealityUtilitiesProvider(); } #if (UNITY_WSA && DOTNETWINRT_PRESENT) || WINDOWS_UWP mixedRealityGazeProviderHeadOverride = Service?.GazeProvider as IMixedRealityGazeProviderHeadOverride; #endif // (UNITY_WSA && DOTNETWINRT_PRESENT) || WINDOWS_UWP #if HP_CONTROLLER_ENABLED // Listens to events to track the HP Motion Controller motionControllerWatcher = new MotionControllerWatcher(); motionControllerWatcher.MotionControllerAdded += AddTrackedMotionController; motionControllerWatcher.MotionControllerRemoved += RemoveTrackedMotionController; var nowait = motionControllerWatcher.StartAsync(); #endif // HP_CONTROLLER_ENABLED }
/// <inheritdoc /> public override void Enable() { base.Enable(); if (WindowsMixedRealityUtilities.UtilitiesProvider == null) { WindowsMixedRealityUtilities.UtilitiesProvider = new XRSDKWindowsMixedRealityUtilitiesProvider(); } mixedRealityGazeProviderHeadOverride = Service?.GazeProvider as IMixedRealityGazeProviderHeadOverride; #if HP_CONTROLLER_ENABLED // Listens to events to track the HP Motion Controller motionControllerWatcher = new MotionControllerWatcher(); motionControllerWatcher.MotionControllerAdded += AddTrackedMotionController; motionControllerWatcher.MotionControllerRemoved += RemoveTrackedMotionController; var nowait = motionControllerWatcher.StartAsync(); #endif }
/// <inheritdoc/> public override void Enable() { if (!Application.isPlaying) { return; } if (InputSystemProfile == null) { return; } #if (UNITY_WSA && DOTNETWINRT_PRESENT) || WINDOWS_UWP if (WindowsMixedRealityUtilities.UtilitiesProvider == null) { WindowsMixedRealityUtilities.UtilitiesProvider = new WindowsMixedRealityUtilitiesProvider(); } mixedRealityGazeProviderHeadOverride = Service?.GazeProvider as IMixedRealityGazeProviderHeadOverride; #endif // (UNITY_WSA && DOTNETWINRT_PRESENT) || WINDOWS_UWP #if HP_CONTROLLER_ENABLED // Listens to events to track the HP Motion Controller motionControllerWatcher = new MotionControllerWatcher(); motionControllerWatcher.MotionControllerAdded += AddTrackedMotionController; motionControllerWatcher.MotionControllerRemoved += RemoveTrackedMotionController; var nowait = motionControllerWatcher.StartAsync(); #endif if (InputSystemProfile.GesturesProfile != null) { var gestureProfile = InputSystemProfile.GesturesProfile; GestureSettings = gestureProfile.ManipulationGestures; NavigationSettings = gestureProfile.NavigationGestures; RailsNavigationSettings = gestureProfile.RailsNavigationGestures; UseRailsNavigation = gestureProfile.UseRailsNavigation; for (int i = 0; i < gestureProfile.Gestures.Length; i++) { var gesture = gestureProfile.Gestures[i]; switch (gesture.GestureType) { case GestureInputType.Hold: holdAction = gesture.Action; break; case GestureInputType.Manipulation: manipulationAction = gesture.Action; break; case GestureInputType.Navigation: navigationAction = gesture.Action; break; case GestureInputType.Select: selectAction = gesture.Action; break; } } } RegisterGestureEvents(); RegisterNavigationEvents(); InteractionManager.InteractionSourceDetected += InteractionManager_InteractionSourceDetected; InteractionManager.InteractionSourceLost += InteractionManager_InteractionSourceLost; InteractionManager.InteractionSourcePressed += InteractionManager_InteractionSourcePressed; InteractionManager.InteractionSourceReleased += InteractionManager_InteractionSourceReleased; UpdateInteractionManagerReading(); // NOTE: We update the source state data, in case an app wants to query it on source detected. for (var i = 0; i < numInteractionManagerStates; i++) { GetOrAddController(interactionManagerStates[i]); } if (InputSystemProfile.GesturesProfile != null && InputSystemProfile.GesturesProfile.WindowsGestureAutoStart == AutoStartBehavior.AutoStart) { GestureRecognizerEnabled = true; } // Call the base here to ensure any early exits do not // artificially declare the service as enabled. base.Enable(); }