/// <summary> /// /// </summary> public void Update() { if (controllerInput == null) { return; } // if (m_ConnectionText != null) { m_ConnectionText.text = controllerInput.connectionState.ToString(); } // int i, imax; for (i = 0, imax = m_Axes.Length; i < imax; ++i) { m_Axes[i].Update(); } for (i = 0, imax = m_Buttons.Length; i < imax; ++i) { m_Buttons[i].Update(); } if (m_Position != null) { if (m_PositionGo == null) { m_PositionGo = m_Position.gameObject; } // m_PositionGo.SetActive((controllerInput.trackingResult & TrackingResult.PositionTracked) != 0); m_Position.value = controllerInput.GetPosition(); } if (m_Rotation != null) { m_Rotation.value = controllerInput.GetRotation().eulerAngles; } if (m_Accelerometer != null) { m_Accelerometer.value = controllerInput.GetAccelerometer(); } if (m_Gyroscope != null) { m_Gyroscope.value = controllerInput.GetGyroscope(); } if (m_AccelerometerMag.image != null) { m_AccelerometerMag.Update(controllerInput.GetAccelerometer().magnitude); } if (m_GyroscopeMag.image != null) { m_GyroscopeMag.Update(controllerInput.GetGyroscope().magnitude); } }
public virtual void ReadState(ControllerState outState) { // if (m_ControllerInput != null) { if (m_ControllerInput.connectionState != DeviceConnectionState.Connected) // If not connected. { m_ControllerInput = null; } } if (m_ControllerInput == null) { // Search available controller... for (int i = 0, imax = m_ControllerInputs.Length; i < imax; ++i) { if (m_ControllerInputs[i] != null || m_ControllerInputs[i].connectionState == DeviceConnectionState.Connected) { m_ControllerInput = m_ControllerInputs[i]; break; } } if (m_ControllerInput == null) { outState.connectionState = GvrConnectionState.Disconnected; return; } } // outState.connectionState = GvrConnectionState.Connected; //(GvrConnectionState)m_ControllerInput.connectionState; // Touchpad outState.touchPos = m_ControllerInput.GetTouchPos(); outState.isTouching = m_ControllerInput.GetButton(DaydreamButton.Touch); outState.touchDown = m_ControllerInput.GetButtonDown(DaydreamButton.Touch); outState.touchUp = m_ControllerInput.GetButtonUp(DaydreamButton.Touch); // Click Button outState.clickButtonState = m_ControllerInput.GetButton(DaydreamButton.Click); outState.clickButtonDown = m_ControllerInput.GetButtonDown(DaydreamButton.Click); outState.clickButtonUp = m_ControllerInput.GetButtonUp(DaydreamButton.Click); // App Button outState.appButtonState = m_ControllerInput.GetButton(DaydreamButton.App); outState.appButtonDown = m_ControllerInput.GetButtonDown(DaydreamButton.App); outState.appButtonUp = m_ControllerInput.GetButtonUp(DaydreamButton.App); // Home Button outState.recentering = m_ControllerInput.GetButton(DaydreamButton.Home); outState.recentered = m_ControllerInput.GetButtonUp(DaydreamButton.Home); // Fix recenter api. if (m_ControllerInput.GetButtonUp(DaydreamButton.Home)) { m_ControllerInput.Recenter(); } // Motions outState.orientation = m_ControllerInput.GetRotation(); outState.accel = m_ControllerInput.GetAccelerometer(); outState.gyro = m_ControllerInput.GetGyroscope(); }