コード例 #1
0
    // Update is called once per frame
    void FixedUpdate()
    {
        //mousePos = Input.mousePosition;
        //mousePos.z = 1000f;
        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);

        Debug.DrawRay(ray.origin + (Vector3.up * 10), ray.direction, Color.red);

        RaycastHit[] hits = Physics.RaycastAll(ray);
        RaycastHit   hit;

        if (Input.GetMouseButtonDown(0))
        {
            mouseDown = true;
        }
        if (Input.GetMouseButtonUp(0))
        {
            mouseDown = false;
        }

        if (mouseDown && hover)
        {
            hover.GetComponent <Entity>().UnHighlight();
        }


        foreach (var h in hits)
        {
            ind.transform.position = mousePos;
            mousePos = h.point;


            if (h.transform.GetComponent <Entity>())
            {
                hit = h;
                if (hover == null)
                {
                    hover = hit.transform;
                }
                if (hit.transform != hover)
                {
                    //hover.GetComponent<Entity>().UnHighlight();
                    hover = hit.transform;
                    //hover.transform.GetComponent<Entity>().Highlight();
                }
                contextInfo.panel.SetActive(true);
                contextInfo.Position(hit.point + new Vector3(0, 0, 5));

                if (hit.transform.tag == "Lot")
                {
                    contextInfo.
                    PrintLot(hit.transform.GetComponent <Lot>());
                }

                if (hit.transform.tag == "Node")
                {
                    contextInfo.
                    PrintNode(hit.transform.GetComponent <Node>());
                }

                break;
            }

            else
            {
                contextInfo.panel.SetActive(false);
                if (hover)
                {
                    //hover.GetComponent<Entity>().UnHighlight();
                    hover = null;
                }
            }
        }
    }