Esempio n. 1
0
    //Remove Node
    private void OnClickRemoveNode(ENodeBase node)
    {
        if (connections != null)
        {
            List <Connection> connectionsToRemove = new List <Connection>();

            for (int i = 0; i < connections.Count; i++)
            {
                if (connections[i].inPoint == node.inPoint || connections[i].outPoint == node.outPoint)
                {
                    connectionsToRemove.Add(connections[i]);
                }
            }

            for (int i = 0; i < connectionsToRemove.Count; i++)
            {
                connections.Remove(connectionsToRemove[i]);
            }

            connectionsToRemove = null;
        }

        Nodes.Remove(node);
    }
Esempio n. 2
0
    public ConnectionPoint
    (
        ENodeBase node,
        ConnectionPointType type,
        GUIStyle style,
        Action <ConnectionPoint> onClickConnectionPoint,
        string id = null
    )
    {
        //connection type
        Type = type;

        //visuals
        rect  = new Rect(0, 0, 10f, 20f);
        Style = style;

        //parent node
        ParentNode = node;

        //Point action
        OnClickConnectionPoint = onClickConnectionPoint;

        this.id = id ?? Guid.NewGuid().ToString();
    }