public static NodeConnectionData Convert(NodeConnection connection)
 {
     return(new NodeConnectionData(connection.LeftNode.ID, connection.SourcePin.Index, connection.RightNode.ID, connection.TargetPin.Index));
 }
 public NodeConnection(NodeConnection aConnection) : this(aConnection.InPoint, aConnection.OutPoint, aConnection.OnClickRemoveConnection)
 {
     //Copy Constructor
 }
 NodePin GetExecutionEndPin(NodeConnection connection)
 {
     return(connection.Type == NodeConnectionType.Execute ? connection.TargetPin : connection.SourcePin);
 }
 Node GetExecutionEndNode(NodeConnection connection)
 {
     return(connection.Type == NodeConnectionType.Execute ? connection.RightNode : connection.LeftNode);
 }
 NodePin GetExecutionStartPin(NodeConnection connection)
 {
     // Pins flow left to right when of execute type and right to left when of value type.
     return(connection.Type == NodeConnectionType.Execute ? connection.SourcePin : connection.TargetPin);
 }