private void UpdateControllerState(int index) { m_NativeController.UpdateState(index); states[index].controllerType = m_NativeController.GetControllerType(index); states[index].availableFeature = (ControllerAvailableFeature)m_NativeController.GetAvailableFeatures(index); states[index].connectionState = m_NativeController.GetConnectionState(index); states[index].rotation = m_NativeController.GetPose(index).rotation; states[index].position = m_NativeController.GetPose(index).position; states[index].gyro = m_NativeController.GetGyro(index); states[index].accel = m_NativeController.GetAccel(index); states[index].mag = m_NativeController.GetMag(index); states[index].touchPos = m_NativeController.GetTouch(index); states[index].isTouching = m_NativeController.IsTouching(index); states[index].recentered = false; states[index].isCharging = m_NativeController.IsCharging(index); states[index].batteryLevel = m_NativeController.GetBatteryLevel(index); states[index].buttonsState = (ControllerButton)m_NativeController.GetButtonState(index); states[index].buttonsDown = (ControllerButton)m_NativeController.GetButtonDown(index); states[index].buttonsUp = (ControllerButton)m_NativeController.GetButtonUp(index); IControllerStateParser stateParser = ControllerStateParseUtility.GetControllerStateParser(states[index].controllerType, index); if (stateParser != null) { stateParser.ParserControllerState(states[index]); } CheckRecenter(index); }
private void UpdateControllerState(int index) { m_NativeController.UpdateState(index); states[index].controllerType = m_NativeController.GetControllerType(index); #if UNITY_EDITOR if (NRInput.EmulateVirtualDisplayInEditor) { states[index].controllerType = ControllerType.CONTROLLER_TYPE_PHONE; } #endif states[index].availableFeature = (ControllerAvailableFeature)m_NativeController.GetAvailableFeatures(index); states[index].connectionState = m_NativeController.GetConnectionState(index); states[index].rotation = m_NativeController.GetPose(index).rotation; states[index].position = m_NativeController.GetPose(index).position; states[index].gyro = m_NativeController.GetGyro(index); states[index].accel = m_NativeController.GetAccel(index); states[index].mag = m_NativeController.GetMag(index); states[index].touchPos = m_NativeController.GetTouch(index); states[index].isTouching = m_NativeController.IsTouching(index); states[index].recentered = false; states[index].isCharging = m_NativeController.IsCharging(index); states[index].batteryLevel = m_NativeController.GetBatteryLevel(index); states[index].buttonsState = (ControllerButton)m_NativeController.GetButtonState(index); states[index].buttonsDown = (ControllerButton)m_NativeController.GetButtonDown(index); states[index].buttonsUp = (ControllerButton)m_NativeController.GetButtonUp(index); IControllerStateParser stateParser = ControllerStateParseUtility.GetControllerStateParser(states[index].controllerType, index); if (stateParser != null) { stateParser.ParserControllerState(states[index]); } CheckRecenter(index); }