Beispiel #1
0
	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;
	}
Beispiel #2
0
	/// <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;
    }
Beispiel #5
0
	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;
	}