コード例 #1
0
    void OnTriggerExit(Collider other)
    {
        IndicatorOverlay overlay = other.GetComponent <IndicatorOverlay> ();

        if (overlay != null)
        {
            overlay.Disable();
        }
    }
コード例 #2
0
    void OnTriggerStay(Collider other)
    {
        IndicatorOverlay overlay = other.GetComponent <IndicatorOverlay> ();

        if (overlay != null && other.gameObject != item1 && other.gameObject != item2 &&
            overlay.display == false)
        {
            //overlay.Enable();
        }

        if (other.gameObject != item2 &&
            Input.GetButtonDown("Pickup") && !pickedUpRight && cooldown < 0.01f)
        {
            if (other.GetComponent <tmpItem>() != null)
            {
                if (other.GetComponent <tmpItem>().grabbable)
                {
                    if (item1 == null)
                    {
                        item1 = other.gameObject;
                    }
                    //Debug.Log("Grabbed!");
                    Collider childCollider = item1.transform.GetComponentInChildren <Collider> ();
                    //item1.transform.GetChild(0).gameObject.GetComponent<Collider>().enabled = false;
                    Physics.IgnoreCollision(childCollider, parentCollider, true);
                    item1.transform.position      = rightHand.position;
                    item1.transform.parent        = rightHand;
                    item1.transform.localPosition = Vector3.zero;
                    Rigidbody rb = item1.GetComponentInChildren <Rigidbody>();
                    rb.freezeRotation = true;
                    pickedUpRight     = false;
                    cooldown          = PICKUP_DELAY;

                    if (overlay != null)
                    {
                        //For displaying icon over object
                        overlay.Disable();
                    }
                }
            }
        }
        if (other.gameObject != item1 &&
            Input.GetButtonDown("PickupL") && !pickedUpLeft && cooldownL < 0.01f)
        {
            if (other.GetComponent <tmpItem>() != null)
            {
                if (other.GetComponent <tmpItem>().grabbable)
                {
                    if (item2 == null)
                    {
                        item2 = other.gameObject;
                    }
                    //Debug.Log("Grabbed!");
                    Collider childCollider = item2.transform.GetComponentInChildren <Collider> ();
                    //item1.transform.GetChild(0).gameObject.GetComponent<Collider>().enabled = false;
                    Physics.IgnoreCollision(childCollider, parentCollider, true);
                    item2.transform.position      = leftHand.position;
                    item2.transform.parent        = leftHand;
                    item2.transform.localPosition = Vector3.zero;
                    Rigidbody rb = item2.GetComponentInChildren <Rigidbody>();
                    rb.freezeRotation = true;
                    pickedUpLeft      = false;
                    cooldownL         = PICKUP_DELAY;

                    if (overlay != null)
                    {
                        //For displaying icon over object
                        overlay.Disable();
                    }
                }
            }
        }
    }