/// <summary> /// Fills allowed connected devices list with all the connected controllers matching /// types set in _devicesAllowed. /// </summary> private void GetAllowedInput() { for (int i = 0; i < 2; ++i) { MLInputController controller = MLInput.GetController(i); if (IsDeviceAllowed(controller) && !_allowedConnectedDevices.Exists((device) => device.Id == controller.Id)) { _allowedConnectedDevices.Add(controller); } } }
/// <summary> /// Gets the first input device that's connected and allowed /// </summary> /// <returns>The first connected allowed device if any, null otherwise</returns> private MLInputController GetAllowedInput() { for (int i = 0; i < 2; ++i) { MLInputController controller = MLInput.GetController(i); if (IsDeviceAllowed(controller)) { return(controller); } } return(null); }
/// <summary> /// Fills allowed connected devices list with all the connected controllers matching /// types set in _devicesAllowed. /// </summary> private void GetAllowedInput() { _allowedConnectedDevices.Clear(); #if PLATFORM_LUMIN for (int i = 0; i < 2; ++i) { MLInput.Controller controller = MLInput.GetController(i); if (IsDeviceAllowed(controller) && !_allowedConnectedDevices.Exists((device) => device.Id == controller.Id)) { _allowedConnectedDevices.Add(controller); } } #endif }
/// <summary> /// Adds the connected controller if not yet added. /// </summary> /// <param name="controllerId">The id of the controller.</param> private void AddController(byte controllerId) { MLInputController newController = MLInput.GetController(controllerId); if (_controllers.Exists((device) => device.Id == controllerId)) { Debug.LogWarning(string.Format("Connected controller with id {0} already connected.", controllerId)); return; } if (newController.Connected) { _controllers.Add(newController); } }
/// <summary> /// Handles the event when a controller connects. If the connected controller /// is valid, we add it to the _allowedConnectedDevices list. /// </summary> /// <param name="controllerId">The id of the controller.</param> private void HandleOnControllerConnected(byte controllerId) { MLInputController newController = MLInput.GetController(controllerId); if (IsDeviceAllowed(newController)) { if (_allowedConnectedDevices.Exists((device) => device.Id == controllerId)) { Debug.LogWarning(string.Format("Connected controller with id {0} already connected.", controllerId)); return; } _allowedConnectedDevices.Add(newController); } }
/// <summary> /// Handles the event when a controller connects. If the current controller /// is not valid, this will check if the new controller is allowed and uses /// it if so. Otherwise, no change will happen. /// </summary> /// <param name="controllerId">The id of the controller.</param> private void HandleOnControllerConnected(byte controllerId) { if (!IsControllerValid()) { MLInputController newController = MLInput.GetController(controllerId); if (IsDeviceAllowed(newController)) { ConnectedController = newController; } if (OnControllerConnected != null) { OnControllerConnected(ConnectedController); } } }
/// <summary> /// Handles the event when a controller connects. If the connected controller /// is valid, we add it to the _allowedConnectedDevices list. /// </summary> /// <param name="controllerId">The id of the controller.</param> private void HandleOnControllerConnected(byte controllerId) { #if PLATFORM_LUMIN MLInput.Controller newController = MLInput.GetController(controllerId); if (IsDeviceAllowed(newController)) { if (_allowedConnectedDevices.Exists((device) => device.Id == controllerId)) { Debug.LogWarning(string.Format("Connected controller with id {0} already connected.", controllerId)); return; } _allowedConnectedDevices.Add(newController); // Notify Listeners if (OnControllerConnected != null) { OnControllerConnected.Invoke(controllerId); } } #endif }