private void DoInteractUntouch(object sender, ObjectInteractEventArgs e)
 {
     if (e.target)
     {
         DebugLogger(e.controllerIndex, "NO LONGER TOUCHING", e.target);
     }
 }
 private void DoInteractGrab(object sender, ObjectInteractEventArgs e)
 {
     if (e.target)
     {
         DebugLogger(e.controllerIndex, "GRABBING", e.target);
     }
 }
Пример #3
0
    private void LeftGrabHandler(object sender, ObjectInteractEventArgs e)
    {
        LabObject labObject = e.target.GetComponent <LabObject>();

        if (labObject != null && labObject.ID == ID)
        {
            ReleaseValidChildrenWhenGrab();
        }
    }
Пример #4
0
 public void OnTouched(object sender, ObjectInteractEventArgs e)
 {
     if (isTouch == true)
     {
         return;
     }
     //Debug.Log("OnTouched");
     isTouch = true;
 }
Пример #5
0
 protected virtual void OnGrabObject(object sender, ObjectInteractEventArgs e)
 {
     if (IsClimbableObject(e.target))
     {
         var controller       = ((VRTK_InteractGrab)sender).gameObject;
         var actualController = VRTK_DeviceFinder.GetActualController(controller);
         Grab(actualController, e.controllerReference, e.target);
     }
 }
Пример #6
0
    private void OnControllerTouchInteractableObject(object o, ObjectInteractEventArgs e)
    {
        string tag = e.target.gameObject.tag;

        if (tag == "Obstacle" || tag == "BelieverObstacle")
        {
            EventManager.TriggerEvent("Death");
        }
    }
Пример #7
0
    private void ControllerStartGrabInteractableObject(object sender, ObjectInteractEventArgs e)
    {
        var rigidBody = e.target.GetComponentInChildren <Rigidbody>();

        if (rigidBody && rigidBody.constraints == RigidbodyConstraints.FreezeAll)
        {
            rigidBody.constraints = RigidbodyConstraints.None;
        }
    }
Пример #8
0
    private void OnControllerUntouchInteractableObject(object o, ObjectInteractEventArgs e)
    {
        string tag = e.target.gameObject.tag;

        if (tag == "RestartButton")
        {
            _onButton = false;
        }
    }
Пример #9
0
    private void OnControllerTouchInteractableObject(object o, ObjectInteractEventArgs e)
    {
        Debug.Log(e.target.gameObject.tag);
        string tag = e.target.gameObject.tag;

        if (tag == "StartButton")
        {
            _onButton = true;
        }
    }
Пример #10
0
        private void OnUnuse(object sender, ObjectInteractEventArgs e)
        {
            netvrkSyncedBase syncScript = e.target.GetComponent <netvrkSyncedBase>();

            if (syncScript != null)
            {
                ushort viewId = e.target.GetComponent <netvrkView>().id;
                netView.Rpc("UseRpc", netvrkTargets.Other, 0, false, viewId);
            }
        }
Пример #11
0
    override protected void DoInteractUngrab(object sender, ObjectInteractEventArgs e)
    {
        base.DoInteractUngrab(sender, e);
        interactGrab.throwMultiplier      = 1.0f;
        interactGrab.hideControllerOnGrab = true;
        creationPointer.enabled           = true;
        touchpadDecal.OnObject();

        controller = null;
    }
Пример #12
0
    protected virtual void OnUngrabObject(object sender, ObjectInteractEventArgs e)
    {
        var controller       = ((VRTK_InteractGrab)sender).gameObject;
        var actualController = VRTK_DeviceFinder.GetActualController(controller);

        if (e.target && IsClimbableObject(e.target) && IsActiveClimbingController(actualController))
        {
            Ungrab(true, e.controllerReference, e.target);
        }
    }
Пример #13
0
    private void ActOnUngrab(object sender, ObjectInteractEventArgs e)
    {
        VRTK_InteractGrab interactObject = (VRTK_InteractGrab)sender;

        if (!interactObject)
        {
            return;
        }

        interactObject.GetGrabbedObject().transform.localScale = new Vector3(0.075f, 0.075f, 0.075f);
    }
Пример #14
0
 private void OnRightReleaseHandler(object sender, ObjectInteractEventArgs e)
 {
     if (e.target != null)
     {
         if (_ovrAvatar.RightHandCustomPose != null)
         {
             ObjPoolManager.Instance.Set(_ovrAvatar.RightHandCustomPose.gameObject);
             _ovrAvatar.RightHandCustomPose = null;
         }
     }
 }
Пример #15
0
        private void OnGrab(object sender, ObjectInteractEventArgs e)
        {
            netvrkSyncedBase syncScript = e.target.GetComponent <netvrkSyncedBase>();

            if (syncScript != null)
            {
                netvrkView ioView = e.target.GetComponent <netvrkView>();
                ioView.RequestOwnership();
                syncScript.enabled = false;
                netView.Rpc("GrabRpc", netvrkTargets.Other, 0, true, ioView.id);
            }
        }
Пример #16
0
 public void OnTouched(object sender, ObjectInteractEventArgs e)
 {
     if (isTouch == true)
     {
         return;
     }
     //Debug.Log("OnTouched");
     isTouch = true;
     //banButtonCanvas.transform.DOScale(0.003f, 1f);
     banButtonCanvas.SetActive(true);
     Invoke("HideBanButtonCanvas", 10f);
 }
Пример #17
0
 void DoControllerGrabInteractableObject(object sender, ObjectInteractEventArgs e)
 {
     if (e.target == mTopObject)
     {
         //mTopObject.GetComponent<Rigidbody>().useGravity = true;
         //mTopObject.transform.parent = null;
         e.target.transform.parent = null;
         e.target.transform.gameObject.GetComponent <Collider>().isTrigger = false;
         SubtractItemFromInventory(mTopObject.GetComponent <ItemFactoryData>().ItemEnum);
         //e.target.layer = 0;
     }
 }
Пример #18
0
 private void LeftGrabRealseHandler(object sender, ObjectInteractEventArgs e)
 {
     if (e.target != null)
     {
         LabObject labObject = e.target.GetComponent <LabObject>();
         if (labObject != null && labObject.ID == ID)
         {
             SetToValidPos();
             StartCoroutine(AttachValidChildrenWhenUnGrab());
         }
     }
 }
Пример #19
0
 private void OnRightGrabHandler(object sender, ObjectInteractEventArgs e)
 {
     if (e.target != null)
     {
         string name = e.target.name;
         name = name.Replace("(Clone)", "");
         GameObject GrabPos = (GameObject)ObjPoolManager.Instance.Get("OculusGestures/Right/" + name + "R", false);
         if (GrabPos != null)
         {
             _ovrAvatar.RightHandCustomPose = GrabPos.transform;
         }
     }
 }
Пример #20
0
    private void HandleObjectDropped(object sender, ObjectInteractEventArgs e)
    {
        if (e.target.GetComponent <TimeBody>())
        {
            // This is here because VRTK swaps the kinematic state from the state it was picked up at. If we picked this up during
            // rewind (when it is kinematic), then it would be kinematic again when dropped.
            e.target.GetComponent <Rigidbody>().isKinematic = false;

            if (RewindController.isRewinding)
            {
                e.target.GetComponent <TimeBody>().SetToUnrewindableMaterial();
            }
        }
    }
Пример #21
0
    public override void OnControllerUseInteractableObject(ObjectInteractEventArgs e)
    {
        base.OnControllerUseInteractableObject(e);
        switch (e.target.tag)
        {
        case "FoxG":
            sf.SwapMaterial(1);
            break;

        case "FoxM":
            sf.SwapMaterial(2);
            break;
        }
    }
Пример #22
0
 protected override void ControllerUntouchInteractableObject(object sender, ObjectInteractEventArgs e)
 {
     if (e.target != null)
     {
         e.target.GetComponent <Renderer>().material = untouchedMaterial;
         VRTK_InteractableObject touchedObjectScript = e.target.GetComponent <VRTK_InteractableObject>();
         if (!touchedObjectScript.IsGrabbed() && savedGrabButton != VRTK_ControllerEvents.ButtonAlias.Undefined)
         {
             useButton      = savedUseButton;
             savedUseButton = VRTK_ControllerEvents.ButtonAlias.Undefined;
             ManageUseListener(true);
         }
     }
 }
Пример #23
0
 protected override void ControllerTouchInteractableObject(object sender, ObjectInteractEventArgs e)
 {
     if (e.target != null)
     {
         untouchedMaterial = e.target.GetComponent <Renderer>().material;
         e.target.GetComponent <Renderer>().material = touchDebug;
         VRTK_InteractableObject touchedObjectScript = e.target.GetComponent <VRTK_InteractableObject>();
         if (touchedObjectScript != null && touchedObjectScript.useOverrideButton != VRTK_ControllerEvents.ButtonAlias.Undefined)
         {
             savedUseButton = subscribedUseButton;
             useButton      = touchedObjectScript.useOverrideButton;
             ManageUseListener(true);
         }
     }
 }
Пример #24
0
    private void onUngrab(object sender, ObjectInteractEventArgs e)
    {
        if (e.controllerIndex == 0)
        {
            ovr.LeftHandCustomPose = null;
        }
        else if (e.controllerIndex == 1)
        {
            ovr.RightHandCustomPose = null;
        }

        if (e.target == pickups)
        {
            pickups.GetComponent <PickupsTrigger>().onUngrab();
        }
    }
Пример #25
0
 private void DoEndTouch(object sender, ObjectInteractEventArgs e)
 {
     if (grabber.GetGrabbedObject() != null)
     {
         //Debug.Log("DoEndTouch: Already holding something");
         return;
     }
     if (gripIndex < .05f && gripIndex < 0.05f && triggerIndex < 0.05f && thumbTouch == false)
     {
         // Return fingers to their default orientation when a pickup is no longer available
         handVRController.fingerSpread = 0f;
         handVRController.thumbCurl    = thumbRest;
         handVRController.indexCurl    = indexRest;
         handVRController.middleCurl   = middleRest;
         handVRController.ringCurl     = ringRest;
         handVRController.pinkyCurl    = pinkyRest;
     }
 }
Пример #26
0
        void InteractGrab_ControllerGrabInteractableObject(object sender, ObjectInteractEventArgs e)
        {
            var item = e.target.GetComponent <Item> ();

            if (item != null)
            {
                if (item.itemType == ItemTypes.LargeWeapon || item.itemType == ItemTypes.SmallWeapon)
                {
                    if (OnPickedUpRangedWeapon != null)
                    {
                        OnPickedUpRangedWeapon.Invoke(item, activeHand);
                    }
                }
                if (item.handPosition != null)
                {
                }
            }
        }
Пример #27
0
    private void DoStartTouch(object sender, ObjectInteractEventArgs e)
    {
        if (grabber.GetGrabbedObject() != null)
        {
            //Debug.Log("DoStartTouch: Already holding something");
            return;
        }

        // Spread the fingers when a pickup is available to pickup items better
        if (gripIndex < 0.05f && triggerIndex < 0.05f && thumbTouch == false)
        {
            handVRController.fingerSpread = 1f;

            handVRController.thumbCurl  = 0f;
            handVRController.indexCurl  = 0f;
            handVRController.middleCurl = 0f;
            handVRController.ringCurl   = 0f;
            handVRController.pinkyCurl  = 0f;
        }
    }
Пример #28
0
    private void onUse(object sender, ObjectInteractEventArgs e)
    {
        if (e.target == pickups)
        {
            activateAllBut(pickups, "Open");
            pickups.GetComponent <PickupsTrigger>().onUse();
        }
        if (e.target == scissors)
        {
            if (e.controllerIndex == 0)
            {
                ovr.LeftHandCustomPose = hands["HandLeft_ScissorsClosed"];
            }
            else
            {
                ovr.RightHandCustomPose = hands["HandRight_ScissorsClosed"];
            }

            activateAllBut(scissors, "Open");
        }
    }
Пример #29
0
 private void StopGrabObject(object sender, ObjectInteractEventArgs e)
 {
     if (isMainSceneLoaded)
     {
         // Double check that the other controller is not grabbing anything
         if (e.controllerReference.hand == SDK_BaseController.ControllerHand.Left)
         {
             if (rightInteractGrab.GetGrabbedObject() == null)
             {
                 SetInteractionState(InteractionState.None);
             }
         }
         else if (e.controllerReference.hand == SDK_BaseController.ControllerHand.Right)
         {
             if (leftInteractGrab.GetGrabbedObject() == null)
             {
                 SetInteractionState(InteractionState.None);
             }
         }
     }
 }
Пример #30
0
    public override void OnControllerStartGrabInteractableObject(ObjectInteractEventArgs e)
    {
        Debug.Log("Picked up");
        if (e.target.GetComponent <Weapon>())
        {
            //Debug.Log("PickedUpWeapon");
            //if (e.target.GetComponent<Shotgun>())
            //{
            //Debug.Log("Picked up shotgun");
            //if (!e.target.GetComponent<Shotgun>().primaryTaken)
            //{
            //    inverseControl.rightHandObj = e.target.GetComponentsInChildren<SnapPoint>()[0].transform;
            //    Debug.Log("Primary not taken!");
            //}

            //else if (e.target.GetComponent<Shotgun>().primaryTaken)
            //{
            //    inverseControl.rightHandObj = e.target.GetComponentsInChildren<SnapPoint>()[1].transform;
            //    e.target.transform.rotation = rightController.rotation;
            //    Debug.Log("Primary taken!");
            //}
            //}
        }
    }
 private void ControllerUntouchInteractableObject(object o, ObjectInteractEventArgs e)
 {
     OnControllerUntouchInteractableObject.Invoke(o, e);
 }
Пример #32
0
 private void ControllerRigidbodyDeactivated(object o, ObjectInteractEventArgs e)
 {
     OnControllerRigidbodyDeactivated.Invoke(o, e);
 }
 private void OnUngrabObject(object sender, ObjectInteractEventArgs e)
 {
     Physics.IgnoreCollision(this.GetComponent<Collider>(), e.target.GetComponent<Collider>(), false);
 }
 void DoInteractTouch(object sender, ObjectInteractEventArgs e)
 {
     DebugLogger(e.controllerIndex, "TOUCHING", e.target);
 }
 public virtual void OnControllerUngrabInteractableObject(ObjectInteractEventArgs e)
 {
     if (ControllerUngrabInteractableObject != null)
         ControllerUngrabInteractableObject(this, e);
 }
 void DoInteractUngrab(object sender, ObjectInteractEventArgs e)
 {
     DebugLogger(e.controllerIndex, "NO LONGER GRABBING", e.target);
 }