void handleVRInput() { if (Time.time < _timeToActivateInput) { return; } VRControllerState_t leftControllerState = VRManager.Instance.Player.LeftController.ControllerState; VRControllerState_t rightControllerState = VRManager.Instance.Player.RightController.ControllerState; Vector2 movmentVector = leftControllerState.GetJoystick(); _owner.SetHorizontalMovement(movmentVector.x); _owner.SetVerticalMovement(movmentVector.y); bool joystickDown = (rightControllerState.ulButtonPressed & 4294967296) != 0; _owner.SetJumpKeyDown(joystickDown); if (!_damageKeyDown && rightControllerState.GetFrontTriggerValue() > 0.8f) { WeaponModel weaponModel = Accessor.GetPrivateField <FirstPersonMover, WeaponModel>("_currentWeaponModel", _owner); weaponModel.SetWeaponDamageActive(true); _damageKeyDown = true; } if (_damageKeyDown && rightControllerState.GetFrontTriggerValue() <= 0.8f) { WeaponModel weaponModel = Accessor.GetPrivateField <FirstPersonMover, WeaponModel>("_currentWeaponModel", _owner); weaponModel.SetWeaponDamageActive(false); _damageKeyDown = false; } if (_damageKeyDown) { OpenVR.System.TriggerHapticPulse(VRManager.Instance.Player.RightController.DeviceIndex, 0, 50000); } }