public bool Validate(List<NodeData> allNodes, List<ConnectionData> allConnections)
{
var fromNode = allNodes.Find(n => n.Id == this.FromNodeId);
var toNode = allNodes.Find(n => n.Id == this.ToNodeId);
if(fromNode == null) {
return false;
}
if(toNode == null) {
return false;
}
var outputPoint = fromNode.FindOutputPoint(this.FromNodeConnectionPointId);
var inputPoint = toNode.FindInputPoint(this.ToNodeConnectionPointId);
if(null == outputPoint) {
return false;
}
if(null == inputPoint) {
return false;
}
// update connection label if not matching with outputPoint label
if( outputPoint.Label != m_label ) {
m_label = outputPoint.Label;
}
return true;
}