public void done() { SelectedNodeDistance = null; SelectedNode = null; SelectedNodeHighLight.SetActive(false); NodeSelectedPanel.SetActive(false); }
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); } } }