public void OnObjectUntouched(VrController _controller)
 {
     if (isTouchable && (_controller.InputSource == allowedSource || allowedSource == SteamVR_Input_Sources.Any))
     {
         onUntouched.Invoke(GenerateArgs(_controller));
     }
 }
 public void OnObjectReleased(VrController _controller)
 {
     if (isGrabbable && (_controller.InputSource == allowedSource || allowedSource == SteamVR_Input_Sources.Any))
     {
         onReleased.Invoke(GenerateArgs(_controller));
     }
 }
Esempio n. 3
0
 public void OnObjectCovid(VrController _controller)
 {
     if (isTouchable && (_controller.InputSource == allowedSource || allowedSource == SteamVrInputSource.Any))
     {
         onCovid.Invoke(GenerateArgs(_controller));
     }
 }
Esempio n. 4
0
 public void OnObjectStopUsed(VrController _controller)
 {
     if (isUsable && (_controller.InputSource == allowedSource || allowedSource == SteamVRInputSource.Any))
     {
         onStopUsed.Invoke(GenerateArgs(_controller));
     }
 }
        override protected ITracker adaptController(GameObject go)
        {
            if (trackerName.Length == 0)
            {
                trackerName = "Oculus Controller";
            }
            //if(OVRDevice.IsHMDPresent())
            {
                VrController oc = go.AddComponent <VrController>();
                go.name = "oculus Controller ";

                if (oc != null)
                {
                    return(oc);
                }
                else
                {
                    return(null);
                }
            }

            /*else
             * {
             *      return null;
             * }*/
        }
Esempio n. 6
0
 public Vector2 GetVrStickPosition(VrController controller, float deadZone = 0f)
 {
     if (!m_isCleared && (Devices & WidgetInputDevice.VrControllers) != 0)
     {
         return(VrManager.GetStickPosition(controller, deadZone));
     }
     return(Vector2.Zero);
 }
Esempio n. 7
0
 public Vector2?GetVrTouchpadPosition(VrController controller, float deadZone = 0f)
 {
     if (!m_isCleared && (Devices & WidgetInputDevice.VrControllers) != 0)
     {
         return(VrManager.GetTouchpadPosition(controller, deadZone));
     }
     return(null);
 }
Esempio n. 8
0
 public float GetVrTriggerPosition(VrController controller, float deadZone = 0f)
 {
     if (!m_isCleared && (Devices & WidgetInputDevice.VrControllers) != 0)
     {
         return(VrManager.GetTriggerPosition(controller, deadZone));
     }
     return(0f);
 }
Esempio n. 9
0
 public bool IsVrButtonDownOnce(VrController controller, VrControllerButton button)
 {
     if (!m_isCleared && (Devices & WidgetInputDevice.VrControllers) != 0)
     {
         return(VrManager.IsButtonDownOnce(controller, button));
     }
     return(false);
 }
Esempio n. 10
0
 public virtual void OnObjectReleased(VrController _controller)
 {
     if (_controller.InputSource == allowedSource || allowedSource == SteamVrInputSource.Any)
     {
         onReleased.Invoke(GenerateArgs(_controller));
         Grabbed = null;
     }
 }
Esempio n. 11
0
 public virtual void OnObjectGrabbed(VrController _controller)
 {
     if (isGrabbable && (_controller.InputSource == allowedSource || allowedSource == SteamVrInputSource.Any))
     {
         onGrabbed.Invoke(GenerateArgs(_controller));
         Grabbed = _controller.GetComponent <InteractGrab>();
     }
 }
Esempio n. 12
0
        //When bow is dropped the arrow should also be dropped
        public override void OnObjectReleased(VrController _controller)
        {
            base.OnObjectReleased(_controller);

            if (!CurrentArrow)
            {
                return;
            }

            //release the arrow from its controller, which will also release it from this bow
            CurrentArrow.ForceReleaseFromController();
            CurrentArrow = null;
        }
    public void Setup(VrController _controller)
    {
        controller = _controller;

        grab.AddOnStateDownListener(OnGrabDown, controller.inputSource);
        grab.AddOnStateUpListener(OnGrabUp, controller.inputSource);
        pointer.AddOnStateDownListener(OnPointerDown, controller.inputSource);
        pointer.AddOnStateUpListener(OnPointerUp, controller.inputSource);
        use.AddOnStateDownListener(OnUseDown, controller.inputSource);
        use.AddOnStateUpListener(OnUseUp, controller.inputSource);
        teleport.AddOnStateDownListener(OnTeleportDown, controller.inputSource);
        teleport.AddOnStateUpListener(OnTeleportUp, controller.inputSource);
        touchpadAxis.AddOnChangeListener(OnTouchpadChanged, controller.inputSource);
    }
Esempio n. 14
0
        public override void Activate(VrSession session)
        {
            base.Activate(session);

            PathEditingHelper.EnsurePath();

            _controller = session.RightController;
            AddGfx();
            //Click += HandleClick;
            AlternateClick += HandleAlternateClick;
            DeltaDrag      += HandleDeltaDrag;
            BeginDrag      += HandleBeginDrag;
            EndDrag        += HandleDeltaDrag;
            HoverObject    += HandleHover;
        }
Esempio n. 15
0
        public override void OnObjectReleased(VrController _controller)
        {
            //set the collider size back to the base size
            if (boxCollider)
            {
                boxCollider.size = new Vector3(boxCollider.size.x, baseColliderHeight, boxCollider.size.z);
            }

            base.OnObjectReleased(_controller);
            //set layer back to worldArrow to stop collision with bow
            gameObject.layer = 6;

            //Release the arrow from the bow it is in
            ReleaseFromBow();
        }
Esempio n. 16
0
        public override void OnObjectGrabbed(VrController _controller)
        {
            //reduce the collider size so that the arrow needs to be closer to the bow to collide
            if (boxCollider)
            {
                boxCollider.size = new Vector3(boxCollider.size.x, newColliderHeight, boxCollider.size.z);
            }

            //When pulling arrow out of something, unstick it
            Rigidbody.isKinematic = false;

            base.OnObjectGrabbed(_controller);
            //change layer so the arrow can collide with the bow
            gameObject.layer = 0;
        }
Esempio n. 17
0
        public override void Activate(VrSession session)
        {
            Station station = Project.ActiveProject as Station;
            Light   light   = station.Lights[0];

            light.CastShadows = false;
            Light light2 = station.Lights[1];

            light2.CastShadows = false;
            _rcontroller       = session.RightController;
            _lcontroller       = session.LeftController;
            SetCurrentSignal(0);
            new RecData().RunPos();
            atTrack       = true;
            press         = false;
            _recSig       = true;
            currentSignal = 0;
        }
Esempio n. 18
0
    private void Awake()
    {
        _vrController = GetComponent <VrController>();

        if (currentHand == Hand.Right)
        {
            XREmitterR.OnSecondaryButtonPressed += UpdateSecondaryButtonState;
            XREmitterR.OnPrimaryButtonPressed   += UpdatePrimaryButtonState;
            XREmitterR.OnTriggerIntensity       += UpdateTriggerButtonState;
            XREmitterR.OnGripIntensity          += UpdateGripButtonState;
            XREmitterR.OnPrimary2DAxis          += UpdateJoystickState;
        }

        if (currentHand == Hand.Left)
        {
            XREmitterL.OnSecondaryButtonPressed += UpdateSecondaryButtonState;
            XREmitterL.OnPrimaryButtonPressed   += UpdatePrimaryButtonState;
            XREmitterL.OnTriggerIntensity       += UpdateTriggerButtonState;
            XREmitterL.OnGripIntensity          += UpdateGripButtonState;
            XREmitterL.OnPrimary2DAxis          += UpdateJoystickState;
        }
    }
Esempio n. 19
0
        public override void Deactivate(VrSession session)
        {
            base.Deactivate(session);
            DeleteGfx();
            _controller = null;
            //Click -= HandleClick;
            AlternateClick -= HandleAlternateClick;
            DeltaDrag      -= HandleDeltaDrag;
            BeginDrag      -= HandleBeginDrag;
            EndDrag        -= HandleEndDrag;

            //:TODO:
            //view.OpenVRRemoveAttachedLine(_pointerToSelGfx);

            ClearHover();

            if (_pointerToSelGfx != IntPtr.Zero)
            {
                var view = (GraphicView)GraphicControl.ActiveGraphicControl.GetView();
                view.OpenVRRemoveAttachedLine(_pointerToSelGfx);
                _pointerToSelGfx = IntPtr.Zero;
            }
        }
Esempio n. 20
0
        public override void Init()
        {
            try {
                //SuperController.LogMessage("");

                // get controllers
                if (!SuperController.singleton.isOVR)
                {
                    GameObject Rctrl = GameObject.Find("Controller (right)");
                    if (Rctrl != null)
                    {
                        RC = new SteamVRController(Rctrl);
                    }

                    GameObject Lctrl = GameObject.Find("Controller (left)");
                    if (Lctrl != null)
                    {
                        LC = new SteamVRController(Lctrl);
                    }
                }
                else
                {
                    // Triggers will be made in 'Start' so that saved swapTriggers will have been loaded
                    _swapTriggers = new JSONStorableBool("swap triggers", false, (bool aSwap) =>
                    {
                        OVRInput.Axis1D axis;
                        if (!aSwap)
                        {
                            axis = OVRInput.Axis1D.PrimaryIndexTrigger;
                        }
                        else
                        {
                            axis = OVRInput.Axis1D.PrimaryHandTrigger;
                        }
                        LC = new OculusController(OVRInput.Controller.LTouch, axis);
                        RC = new OculusController(OVRInput.Controller.RTouch, axis);
                    });
                    RegisterBool(_swapTriggers);
                    CreateToggle(_swapTriggers);
                }

                //  find hand assets
                hL = GameObject.Find("left_hand(Clone)")?.GetComponent <Animator>();
                if (hL == null)
                {
                    hL = GameObject.Find("left_hand_alpha(Clone)")?.GetComponent <Animator>();
                }
                hR = GameObject.Find("right_hand(Clone)")?.GetComponent <Animator>();
                if (hR == null)
                {
                    hR = GameObject.Find("right_hand_alpha(Clone)")?.GetComponent <Animator>();
                }

                // show in label if one or both hands are found
                if (hL != null)
                {
                    pluginLabelJSON.val = "+Left Hand ";
                }
                if (hR != null)
                {
                    pluginLabelJSON.val += "+Right Hand ";
                }

                pluginLabelJSON.val += " [" + pluginVersion + "]";

                JSONStorableBool hlClose = new JSONStorableBool("close left hand", false, closeHL);
                RegisterBool(hlClose);
                CreateToggle(hlClose);

                JSONStorableFloat Lval = new JSONStorableFloat("left hand", 0f, LhandVal, 0f, 1f, true);
                RegisterFloat(Lval);
                Lslider = CreateSlider(Lval);

                JSONStorableBool hrClose = new JSONStorableBool("close right hand", false, closeHR);
                RegisterBool(hrClose);
                CreateToggle(hrClose);

                JSONStorableFloat Rval = new JSONStorableFloat("right hand", 0f, RhandVal, 0f, 1f, true);
                RegisterFloat(Rval);
                Lslider = CreateSlider(Rval);
            }
            catch (Exception e) {
                SuperController.LogError("Exception caught: " + e);
            }
        }
Esempio n. 21
0
 public static float GetTriggerPosition(VrController controller, float deadZone = 0f)
 {
     return(0f);
 }
Esempio n. 22
0
 public static bool IsButtonDownOnce(VrController controller, VrControllerButton button)
 {
     return(false);
 }
Esempio n. 23
0
 public static TouchInput?GetTouchInput(VrController controller)
 {
     return(null);
 }
Esempio n. 24
0
 public override void Activate(VrSession session)
 {
     _controller = session.RightController;
     AddGfx();
 }
Esempio n. 25
0
 private InteractEventArgs GenerateArgs(VrController _controller) => new InteractEventArgs(_controller, rigidbody, collider);
Esempio n. 26
0
 public InputEventArgs(VrController _controller, SteamVR_Input_Sources _source, Vector2 _touchpadAxis)
 {
     controller   = _controller;
     source       = _source;
     touchpadAxis = _touchpadAxis;
 }
Esempio n. 27
0
        // 1. Attatch random object to right controller:
        public void Attatch()
        {
            VrSession session = VrEnvironment.Session;

            _controller = session.RightController;
        }
Esempio n. 28
0
 public InteractionEventArgs(VrController _controller, Rigidbody _rb, Collider _col)
 {
     collider   = _col;
     controller = _controller;
     rb         = _rb;
 }
 private InteractionEventArgs GenerateArgs(VrController _controller)
 {
     return(new InteractionEventArgs(_controller, rigidbody, collider));
 }
Esempio n. 30
0
 public InteractEventArgs(VrController _controller, Rigidbody _rigidbody, Collider _collider)
 {
     controller = _controller;
     rigidbody  = _rigidbody;
     collider   = _collider;
 }