private void Awake() { if (!MLInput.IsStarted) { MLInputConfiguration config = new MLInputConfiguration ( MLInputConfiguration.DEFAULT_TRIGGER_DOWN_THRESHOLD, MLInputConfiguration.DEFAULT_TRIGGER_UP_THRESHOLD, true ); MLResult result = MLInput.Start(config); if (!result.IsOk) { Debug.LogError("Error: MLController failed starting MLInput, disabling script. Reason: " + result); enabled = false; return; } } for (int i = 0; i < buttons.Length; i++) { buttons[i] = ButtonState.Up; } controllerTransformComponent = GetComponent <MagicLeap.ControllerTransform>(); }
/// <inheritdoc /> public override void Enable() { if (!MLInput.IsStarted) { var config = new MLInputConfiguration(); var result = MLInput.Start(config); if (!result.IsOk) { Debug.LogError($"Error: failed starting MLInput: {result}"); return; } } if (!MLHands.IsStarted) { var result = MLHands.Start(); if (!result.IsOk) { Debug.LogError($"Error: failed starting MLHands: {result}"); return; } } for (byte i = 0; i < 3; i++) { // Currently no way to know what controllers are already connected. // Just guessing there could be no more than 3: Two Spatial Controllers and Mobile App Controller. var controller = GetController(i); if (controller != null) { MixedRealityToolkit.InputSystem?.RaiseSourceDetected(controller.InputSource, controller); } } MLInput.OnControllerConnected += OnControllerConnected; MLInput.OnControllerDisconnected += OnControllerDisconnected; MLInput.OnControllerButtonDown += MlInputOnControllerButtonDown; }
private void StartMLInput() { bool requestCFUID = true; if (!MLInput.IsStarted) { MLInputConfiguration config = new MLInputConfiguration(MLInputConfiguration.DEFAULT_TRIGGER_DOWN_THRESHOLD, MLInputConfiguration.DEFAULT_TRIGGER_UP_THRESHOLD, requestCFUID); MLResult result = MLInput.Start(config); if (!result.IsOk) { Debug.LogErrorFormat("Error: ControllerConnectionHandler failed starting MLInput, disabling script. Reason: {0}", result); return; } } MLInput.OnControllerConnected += HandleOnControllerConnected; MLInput.OnControllerDisconnected += HandleOnControllerDisconnected; MLInput.OnControllerButtonUp += HandleOnButtonUp; MLInput.OnControllerButtonDown += HandleOnButtonDown; }
private void StartMLInput() { bool requestCFUID = true; if (!MLInput.IsStarted) { MLInputConfiguration config = new MLInputConfiguration(MLInputConfiguration.DEFAULT_TRIGGER_DOWN_THRESHOLD, MLInputConfiguration.DEFAULT_TRIGGER_UP_THRESHOLD, requestCFUID); MLResult result = MLInput.Start(config); if (!result.IsOk) { Debug.LogErrorFormat("Error: ControllerConnectionHandler failed starting MLInput, disabling script. Reason: {0}", result); return; } else { // When using SDK 0.21.0+Unity2019.1.x // controllers might be already connected at this frame. // In that case the callback is never called. // That's why try to find connected controllers. var controller = MLInput.GetController(MLInput.Hand.Right) ?? MLInput.GetController(MLInput.Hand.Left); if (controller != null) { HandleOnControllerConnected(controller.Id); } } } MLInput.OnControllerConnected += HandleOnControllerConnected; MLInput.OnControllerDisconnected += HandleOnControllerDisconnected; MLInput.OnControllerButtonUp += HandleOnButtonUp; MLInput.OnControllerButtonDown += HandleOnButtonDown; }