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)); } }
public void OnObjectCovid(VrController _controller) { if (isTouchable && (_controller.InputSource == allowedSource || allowedSource == SteamVrInputSource.Any)) { onCovid.Invoke(GenerateArgs(_controller)); } }
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; * }*/ }
public Vector2 GetVrStickPosition(VrController controller, float deadZone = 0f) { if (!m_isCleared && (Devices & WidgetInputDevice.VrControllers) != 0) { return(VrManager.GetStickPosition(controller, deadZone)); } return(Vector2.Zero); }
public Vector2?GetVrTouchpadPosition(VrController controller, float deadZone = 0f) { if (!m_isCleared && (Devices & WidgetInputDevice.VrControllers) != 0) { return(VrManager.GetTouchpadPosition(controller, deadZone)); } return(null); }
public float GetVrTriggerPosition(VrController controller, float deadZone = 0f) { if (!m_isCleared && (Devices & WidgetInputDevice.VrControllers) != 0) { return(VrManager.GetTriggerPosition(controller, deadZone)); } return(0f); }
public bool IsVrButtonDownOnce(VrController controller, VrControllerButton button) { if (!m_isCleared && (Devices & WidgetInputDevice.VrControllers) != 0) { return(VrManager.IsButtonDownOnce(controller, button)); } return(false); }
public virtual void OnObjectReleased(VrController _controller) { if (_controller.InputSource == allowedSource || allowedSource == SteamVrInputSource.Any) { onReleased.Invoke(GenerateArgs(_controller)); Grabbed = null; } }
public virtual void OnObjectGrabbed(VrController _controller) { if (isGrabbable && (_controller.InputSource == allowedSource || allowedSource == SteamVrInputSource.Any)) { onGrabbed.Invoke(GenerateArgs(_controller)); Grabbed = _controller.GetComponent <InteractGrab>(); } }
//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); }
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; }
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(); }
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; }
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; }
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; } }
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; } }
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); } }
public static float GetTriggerPosition(VrController controller, float deadZone = 0f) { return(0f); }
public static bool IsButtonDownOnce(VrController controller, VrControllerButton button) { return(false); }
public static TouchInput?GetTouchInput(VrController controller) { return(null); }
public override void Activate(VrSession session) { _controller = session.RightController; AddGfx(); }
private InteractEventArgs GenerateArgs(VrController _controller) => new InteractEventArgs(_controller, rigidbody, collider);
public InputEventArgs(VrController _controller, SteamVR_Input_Sources _source, Vector2 _touchpadAxis) { controller = _controller; source = _source; touchpadAxis = _touchpadAxis; }
// 1. Attatch random object to right controller: public void Attatch() { VrSession session = VrEnvironment.Session; _controller = session.RightController; }
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)); }
public InteractEventArgs(VrController _controller, Rigidbody _rigidbody, Collider _collider) { controller = _controller; rigidbody = _rigidbody; collider = _collider; }