private void DefaultUpdate() { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; int layer = 1 << 6; //layer = ~layer; if (Physics.Raycast(ray, out hit)) { if (hit.transform.tag != "Draw") { return; } if (Input.GetMouseButtonDown(0)) { Node node; if ((node = graph.GetNode(hit.point.Vector2(), radius)) == null) { var n = point.Create(graph.AddNode(hit.point.Vector2())); n.transform.SetParent(graphDomain); nodes.Add(n); } else { currentNode = node; lineRenderer = Instantiate(line, graphDomain) .GetComponent <LineRenderer>(); lineRenderer.positionCount = 2; lineRenderer.SetPosition(0, node.position.Vector3()); update = CreateLine; } } if (Input.GetMouseButton(1)) { Node node; if ((node = graph.GetNode(hit.point.Vector2(), radius)) != null) { palette.ShowPalette(SetColor); currentSetColorNode = node; } else { palette.HidePalette(); } } } }