public override void OnPostExecute(Connector prevConnector)
        {
            base.OnPostExecute(prevConnector);

            NodeFlowPort port = NodeGraphManager.FindNodeFlowPort(this, "Output");

            foreach (var connector in port.Connectors)
            {
                connector.OnPreExecute();
                connector.OnExecute();
                connector.OnPostExecute();
            }
        }
        public override void OnPostExecute(Connector prevConnector)
        {
            if (NodeExecutionState.Failed == ExecutionState)
            {
                return;
            }

            base.OnPostExecute(prevConnector);

            NodeFlowPort port = NodeGraphManager.FindNodeFlowPort(this, "Output");

            foreach (var connector in port.Connectors)
            {
                connector.OnPreExecute();
                connector.OnExecute();
                connector.OnPostExecute();
            }
        }
Exemple #3
0
        public override void OnExecute(Connector prevConnector)
        {
            base.OnExecute(prevConnector);

            NodePropertyPort portInputArray   = NodeGraphManager.FindNodePropertyPort(this, "Array");
            NodePropertyPort portArrayElement = NodeGraphManager.FindNodePropertyPort(this, "ArrayElement");
            NodePropertyPort portArrayIndex   = NodeGraphManager.FindNodePropertyPort(this, "ArrayIndex");
            NodeFlowPort     loopBodyPort     = NodeGraphManager.FindNodeFlowPort(this, "LoopBody");

            List <NodePort> connectedPorts;

            NodeGraphManager.FindConnectedPorts(portInputArray, out connectedPorts);

            ObservableCollection <object> array = portInputArray.Value as ObservableCollection <object>;

            if (1 == connectedPorts.Count)
            {
                NodePropertyPort portOutputArray = connectedPorts[0] as NodePropertyPort;
                array = portOutputArray.Value as ObservableCollection <object>;
            }

            Connector connector = (1 == loopBodyPort.Connectors.Count) ? loopBodyPort.Connectors[0] : null;

            if ((null != array) && (null != connector))
            {
                for (int i = 0; i < array.Count; ++i)
                {
                    portArrayIndex.Value   = i;
                    portArrayElement.Value = array[i];

                    connector.OnPreExecute();
                    connector.OnExecute();
                    connector.OnPostExecute();
                }
            }
        }
Exemple #4
0
 public NodeFlowPortViewModel(NodeFlowPort nodeFlowPort) : base(nodeFlowPort)
 {
 }