Ejemplo n.º 1
0
    /// <summary>
    /// Activates the Path Tool.
    /// </summary>
    /// <param name="createGadgetsAlongPath">The function to call back upon finishing drawing.</param>
    public void Activate(Action <Vector3[], float> createGadgetsAlongPath)
    {
        mPointer.Toggle(true);
        mPointerRenderer.validCollisionColor   = Color.green;
        mPointerRenderer.invalidCollisionColor = Color.white;

        pathCompleteCallBack = createGadgetsAlongPath;
        this.enabled         = true;
    }
Ejemplo n.º 2
0
        protected override void Process(GameObject controlledGameObject, Transform directionDevice, Vector3 axisDirection, float axis, float deadzone, bool currentlyFalling, bool modifierActive)
        {
            if (Mathf.Abs(axis) < axisLowerThreshold || (!modifierActive && !XRDevice.model.Contains("Oculus")))
            {
                _axisReturnedToDefault = true;
            }

            if (Mathf.Abs(axis) < axisThreshold)
            {
                Pointer.enableTeleport = true;
            }
            else
            {
                Pointer.enableTeleport = false;
            }

            if (Mathf.Abs(axis) < axisThreshold)
            {
                Pointer.overThreshold = false;
            }
            else if (Mathf.Abs(axis) > axisThreshold * 0.9f)
            {
                Pointer.overThreshold = true;
            }

            if (!ValidThreshold(axis))
            {
                return;
            }

            if (!modifierActive && !XRDevice.model.Contains("Oculus"))
            {
                return;
            }

            float angle = Rotate(axis, false);

            if (angle != 0f)
            {
                Blink(blinkTransitionSpeed);
                controlledGameObject.transform.RotateAround(directionDevice.position, Vector3.up, angle);

                _axisReturnedToDefault = false;
                Pointer.Toggle(false);
            }
        }