Ejemplo n.º 1
0
 void EdgeConnectionCallback(SerializableEdge edge)
 {
     if (edge.inputPort == inputPorts[0])
     {
         // Update the loop start:
         var newLoopStart = FindInDependencies(n => n is ForStart) as ForStart;
         if (newLoopStart != loopStart)
         {
             UnregisterLoopStart();
             loopStart = newLoopStart;
             RegisterLoopStart();
         }
         else
         {
             loopStart = newLoopStart;
         }
         if (loopStart != null)
         {
             loopStartGUID = loopStart.GUID;
         }
         UpdateAllPorts();
     }
     else if (loopStart != null && edge.inputPort == loopStart.inputPorts[0])
     {
         UpdateAllPorts();
     }
 }
Ejemplo n.º 2
0
 void RegisterLoopStart()
 {
     if (loopStart == null && !String.IsNullOrEmpty(loopStartGUID) && graph.nodesPerGUID.ContainsKey(loopStartGUID))
     {
         loopStart = graph.nodesPerGUID[loopStartGUID] as ForStart;
     }
     if (loopStart != null)
     {
         loopStart.onAfterEdgeConnected    += EdgeConnectionCallback;
         loopStart.onAfterEdgeDisconnected += EdgeConnectionCallback;
     }
 }