AssetBundleGraph.AssetBundleGraphEditorWindow.AddConnection C# (CSharp) Method

AddConnection() private method

private AddConnection ( string label, NodeGUI startNode, ConnectionPointData startPoint, NodeGUI endNode, ConnectionPointData endPoint ) : void
label string
startNode NodeGUI
startPoint ConnectionPointData
endNode NodeGUI
endPoint ConnectionPointData
return void
        private void AddConnection(string label, NodeGUI startNode, ConnectionPointData startPoint, NodeGUI endNode, ConnectionPointData endPoint)
        {
            Undo.RecordObject(this, "Add Connection");

            var connectionsFromThisNode = connections
                .Where(con => con.OutputNodeId == startNode.Id)
                .Where(con => con.OutputPoint == startPoint)
                .ToList();
            if (connectionsFromThisNode.Any()) {
                var alreadyExistConnection = connectionsFromThisNode[0];
                DeleteConnectionById(alreadyExistConnection.Id);
            }

            if (!connections.ContainsConnection(startPoint, endPoint)) {
                connections.Add(ConnectionGUI.CreateConnection(label, startPoint, endPoint));
            }
        }