Exemple #1
0
        void OnTriggerExit(Collider other)
        {
            if (other.name == "palm")
            {
                return;
            }

            if (other.transform.parent == null || other.transform.parent.parent == null)
            {
                return;
            }

            if (other.transform.parent.parent.name == "Hand_l")
            {
                if (other.transform.parent.name != "ring" && other.transform.parent.name != "pinky")
                {
                    m_leftHandFingerIn--;
                }
            }
            else if (other.transform.parent.parent.name == "Hand_r")
            {
                if (other.transform.parent.name != "ring" && other.transform.parent.name != "pinky")
                {
                    m_rightHandFingerIn--;
                }
            }

            // Only exit when already entered
            if (!m_entered)
            {
                return;
            }

            // Jiaju FoamAR addition
            //if (!FoamUtils.IsGlobalGrabbing) return;
            if (FoamUtils.ShouldStopGrabCollider(this.transform.parent.gameObject))
            {
                return;
            }


            if (m_leftHandFingerIn < FINGER_THRESHOLD && m_rightHandFingerIn < FINGER_THRESHOLD)
            {
                DeExpand();
                if (m_grabObj != null)
                {
                    m_grabObj.OnGrabTriggerExit();
                }
                m_entered = false;
            }
        }
Exemple #2
0
        void OnTriggerExit(Collider other)
        {
            if (other.name == "palm")
            {
                return;
            }

            if (other.transform.parent == null || other.transform.parent.parent == null)
            {
                return;
            }

            if (other.transform.parent.parent.name == "Hand_l")
            {
                m_leftHandFingerIn--;
            }
            else if (other.transform.parent.parent.name == "Hand_r")
            {
                m_rightHandFingerIn--;
            }

            // Only exit when already entered
            if (!m_entered)
            {
                return;
            }

            if (m_leftHandFingerIn < FINGER_THRESHOLD && m_rightHandFingerIn < FINGER_THRESHOLD)
            {
                DeExpand();
                if (m_grabObj != null)
                {
                    m_grabObj.OnGrabTriggerExit();
                }
                m_entered = false;
            }
        }