Пример #1
0
 public void done()
 {
     SelectedNodeDistance = null;
     SelectedNode         = null;
     SelectedNodeHighLight.SetActive(false);
     NodeSelectedPanel.SetActive(false);
 }
Пример #2
0
    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            if (!EventSystem.current.currentSelectedGameObject)
            {
                RaycastHit hit;
                Ray        ray = Camera.main.ScreenPointToRay(Input.mousePosition);
                if (Physics.Raycast(ray, out hit) && hit.transform.tag == "Node")
                {
                    SelectedNode         = hit.transform.gameObject;
                    SelectedNodeDistance = SelectedNode.GetComponent <nodeDistance> ();

                    if (SelectedNodeDistance.nodes.Count > 0)
                    {
                        line.positionCount = 2;
                        line.SetPosition(1, SelectedNodeDistance.nodes[SelectedNodeDistance.currnodelistposition].transform.position);
                        SaveNodePanel.SetActive(true);
                    }
                    else
                    {
                        SaveNodePanel.SetActive(false);
                    }
                    line.SetPosition(0, SelectedNode.transform.position);
                }
                else
                {
                    Vector3 position = Input.mousePosition;
                    position.z = 100;

                    GameObject newNode = Instantiate(NodeReference);

                    if (SelectedNode)
                    {
                        SelectedNode.GetComponent <nodeDistance> ().addNode(newNode);
                    }

                    SelectedNode = newNode;

                    Vector3 newPosition = Camera.main.ScreenToWorldPoint(position);
                    newPosition.z = 100;
                    SelectedNode.transform.position = newPosition;
                    SelectedNodeDistance            = SelectedNode.GetComponent <nodeDistance> ();
                    line.SetPosition(0, SelectedNode.transform.position);
                    line.positionCount = 1;
                    SaveNodePanel.SetActive(false);
                }

                SelectedNodeHighLight.transform.position = SelectedNode.transform.position;
                SelectedNodeHighLight.SetActive(true);
                NodeSelectedPanel.SetActive(true);
            }
        }
    }