private static float GetResolvedAxis1D(Axis1D virtualMask, RawAxis1D rawMask, Controller controllerMask) { float maxAxis = 0.0f; if ((controllerMask & Controller.Active) != 0) controllerMask |= activeControllerType; for (int i = 0; i < controllers.Count; i++) { OVRControllerBase controller = controllers[i]; if (ShouldResolveController(controller.controllerType, controllerMask)) { RawAxis1D resolvedMask = rawMask | controller.ResolveToRawMask(virtualMask); if ((RawAxis1D.LIndexTrigger & resolvedMask) != 0) { maxAxis = CalculateAbsMax(maxAxis, controller.currentState.LIndexTrigger); } if ((RawAxis1D.RIndexTrigger & resolvedMask) != 0) { maxAxis = CalculateAbsMax(maxAxis, controller.currentState.RIndexTrigger); } if ((RawAxis1D.LHandTrigger & resolvedMask) != 0) { maxAxis = CalculateAbsMax(maxAxis, controller.currentState.LHandTrigger); } if ((RawAxis1D.RHandTrigger & resolvedMask) != 0) { maxAxis = CalculateAbsMax(maxAxis, controller.currentState.RHandTrigger); } } } maxAxis = CalculateDeadzone(maxAxis, AXIS_DEADZONE_THRESHOLD); return maxAxis; }
/// <summary> /// Gets the current state of the given raw 1-dimensional axis mask on the given controller mask. /// Returns the value of the largest masked axis across all masked controllers. Values range from 0 to 1. /// </summary> public static float Get(RawAxis1D rawMask, Controller controllerMask = Controller.Active) { return GetResolvedAxis1D(Axis1D.None, rawMask, controllerMask); }
/// <summary> /// Gets the current state of the given raw 1-dimensional axis mask on the given controller mask. /// Returns the value of the largest masked axis across all masked controllers. Values range from 0 to 1. /// </summary> public static float Get(RawAxis1D rawMask, ControllerType controllerMask) { return OVRManager.input.GetResolvedAxis1D(Axis1D.None, rawMask, controllerMask); }
private float GetResolvedAxis1D(Axis1D virtualMask, RawAxis1D rawMask, ControllerType controllerMask) { if (!OVRManager.instance.isVRPresent) return 0.0f; float maxAxis = 0.0f; if ((controllerMask & ControllerType.Active) != 0) controllerMask |= activeControllerType; for (int i = 0; i < controllers.Count; i++) { OVRControllerBase controller = controllers[i]; RawAxis1D resolvedMask = rawMask | controller.ResolveToRawMask(virtualMask); if (ShouldResolveController(controller.controllerType, controllerMask)) { if ((RawAxis1D.LIndexTrigger & resolvedMask) != 0) { maxAxis = CalculateMax(maxAxis, controller.currentInputState.LIndexTrigger); } if ((RawAxis1D.RIndexTrigger & resolvedMask) != 0) { maxAxis = CalculateMax(maxAxis, controller.currentInputState.RIndexTrigger); } if ((RawAxis1D.LHandTrigger & resolvedMask) != 0) { maxAxis = CalculateMax(maxAxis, controller.currentInputState.LHandTrigger); } if ((RawAxis1D.RHandTrigger & resolvedMask) != 0) { maxAxis = CalculateMax(maxAxis, controller.currentInputState.RHandTrigger); } } } return maxAxis; }
private float GetResolvedAxis1D(Axis1D virtualMask, RawAxis1D rawMask, Controller controllerMask) { #if OVR_LEGACY if (!OVRManager.instance.isVRPresent) return 0.0f; #else if (!OVRManager.isHmdPresent) return 0.0f; #endif float maxAxis = 0.0f; if ((controllerMask & Controller.Active) != 0) controllerMask |= activeControllerType; for (int i = 0; i < controllers.Count; i++) { OVRControllerBase controller = controllers[i]; if (ShouldResolveController(controller.controllerType, controllerMask)) { RawAxis1D resolvedMask = rawMask | controller.ResolveToRawMask(virtualMask); if ((RawAxis1D.LIndexTrigger & resolvedMask) != 0) { maxAxis = CalculateAbsMax(maxAxis, controller.currentInputState.LIndexTrigger); } if ((RawAxis1D.RIndexTrigger & resolvedMask) != 0) { maxAxis = CalculateAbsMax(maxAxis, controller.currentInputState.RIndexTrigger); } if ((RawAxis1D.LHandTrigger & resolvedMask) != 0) { maxAxis = CalculateAbsMax(maxAxis, controller.currentInputState.LHandTrigger); } if ((RawAxis1D.RHandTrigger & resolvedMask) != 0) { maxAxis = CalculateAbsMax(maxAxis, controller.currentInputState.RHandTrigger); } } } maxAxis = CalculateDeadzone(maxAxis, AXIS_DEADZONE_THRESHOLD); return maxAxis; }