Exemple #1
0
        protected override void OnUpdate()
        {
            if (!hasProcessed)
            {
                for (int i = 0; i < groupIns.Count; i++)
                {//set data from inputs to inputs nodes
                    if (inputs[i].hasData)
                    {
                        ((GroupInputNode)groupIns[i].node).SetData(inputs[i].GetData());
                        inputs[i].hasData = false;
                    }
                }
            }
            //updates nodes
            for (int i = 0; i < serializer.nodes.Length; i++)
            {
                //if this if a groupe input, give it data
                serializer.nodes[i].Update();
                //if this is a groupe output, get the data
            }
            //set data from output node to outputs
            for (int i = 0; i < groupOuts.Count; i++)
            {
                GroupOutputNode node = (GroupOutputNode)groupOuts[i].node;
                if (node.hasData)
                {
                    outputs[i].SetData(node.data);
                    node.hasData = false;
                    ProcessSingleOutput(outputs[i]);
                }
            }

            hasProcessed = false;
        }
Exemple #2
0
 public void UpdateOutputs()
 {
     SortOuts();
     for (int i = 0; i < groupOuts.Count; i++)
     {
         if (outputs.Count > i)
         {
             //update current output
             AnyTypeOutput   outp = (AnyTypeOutput)outputs[i];
             GroupOutputNode node = (GroupOutputNode)groupOuts[i].node;
             outp.SetDataType(node.inp.GetDataType());
         }
         else
         {
             //create new output
             Debug.Log("creating new output");
             GroupOutputNode node = (GroupOutputNode)groupOuts[i].node;
             AnyTypeOutput   outp = new AnyTypeOutput(this, node.inp.GetDataType());
             outputs.Add(outp);
         }
     }
     //supprime les autres output
     while (outputs.Count > groupOuts.Count)
     {
         outputs.RemoveAt(groupOuts.Count);
     }
 }