Esempio n. 1
0
        private void ObjectHit(Collider colliderHit)
        {
            //  We will let this grabber know we have remote objects available
            if (ParentGrabber == null)
            {
                return;
            }

            // Did our last item change?
            if (_lastColliderHit != colliderHit)
            {
                RemovePreviousHitObject();
            }

            _lastColliderHit = colliderHit;

            if (_lastColliderHit.gameObject.TryGetComponent(out Grabbable grabObject))
            {
                ParentGrabber.AddValidRemoteGrabbable(_lastColliderHit, grabObject);
                return;
            }

            // Check for Grabbable Child Object Last
            if (_lastColliderHit.gameObject.TryGetComponent(out GrabbableChild gc))
            {
                ParentGrabber.AddValidRemoteGrabbable(_lastColliderHit, gc.ParentGrabbable);
                return;
            }
        }
Esempio n. 2
0
        void OnTriggerEnter(Collider other)
        {
            //  We will let this grabber know we have remote objects available
            if (ParentGrabber == null)
            {
                return;
            }

            // Ignore Raycast Triggers
            if (other.gameObject.layer == 2)
            {
                return;
            }

            Grabbable grabObject = other.GetComponent <Grabbable>();

            if (grabObject != null && ParentGrabber != null)
            {
                ParentGrabber.AddValidRemoteGrabbable(other, grabObject);
                return;
            }

            // Check for Grabbable Child Object Last
            GrabbableChild gc = other.GetComponent <GrabbableChild>();

            if (gc != null && ParentGrabber != null)
            {
                ParentGrabber.AddValidRemoteGrabbable(other, gc.ParentGrabbable);
                return;
            }
        }