コード例 #1
0
        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();
                    }
                }
            }
        }