예제 #1
0
    private void DrawAnchorPoints(ref bool elementClicked)
    {
        float buttonRadius = 1;

        Handles.color = Color.green;

        foreach (Transform t in creator.transform)
        {
            Node current = t.GetComponent <Node>();

            switch (selectedToolbar)
            {
            //Crear un stretch
            case (int)ToolbarOptions.NodeEdition:

                if (Handles.Button(t.position, Quaternion.identity, buttonRadius, buttonRadius, Handles.SphereHandleCap))
                {
                    if (selectedNode == current)
                    {
                        float clickTime = Time.time;
                        if ((clickTime - lastClickTime) < 0.2f)
                        {
                            Selection.activeGameObject = t.gameObject;
                        }
                    }
                    if (selectedNode != null)
                    {
                        Undo.RecordObject(creator, "Stretch added");
                        Stretch st = creator.TryCreateStretch(selectedNode, current);
                    }
                    selectedNode   = current;
                    elementClicked = true;

                    lastClickTime = Time.time;
                }

                break;

            //Seleccionar un nodo para moverlo
            case (int)ToolbarOptions.CurveEdition:

                if (current != selectedNode)
                {
                    if (Handles.Button(t.position, Quaternion.identity, buttonRadius, buttonRadius, Handles.SphereHandleCap))
                    {
                        selectedNode = current;
                        Selection.activeGameObject = current.gameObject;
                        elementClicked             = true;
                    }
                }

                break;

            default:

                Debug.LogError("NodeNetEditor: Invalid value of 'selectedToolbar': " + selectedToolbar);

                break;
            }
        }
    }