Ejemplo n.º 1
0
        public void AddNode(NodeVisual n)
        {
            GameObject tmp = new GameObject("tmp");
            WaitAndDo  t   = tmp.AddComponent <WaitAndDo>();

            t.arg = n;
            t.act = (object arg) =>
            {
                NodeVisual node = (NodeVisual)arg;
                serializer.Add(node.node, new Position2(node.transform.position));
                serializer.PrepareForSerialization();
                if (node.GetType() == typeof(GroupInputNodeVisual))
                {
                    //group input
                    GroupInputNodeVisual nn = (GroupInputNodeVisual)node;
                    ((GroupInputNode)nn.node).host = this;
                    AddSortedIn(nn);
                    UpdateInputs();
                }
                else if (node.GetType() == typeof(GroupOutputNodeVisual))
                {
                    //group output
                    GroupOutputNodeVisual nn = (GroupOutputNodeVisual)node;
                    ((GroupOutputNode)nn.node).host = this;
                    AddSortedOut(nn);
                    UpdateOutputs();
                }
            };
            //if it's an input/output add it to the list
        }
Ejemplo n.º 2
0
 private void AddSortedIn(GroupInputNodeVisual n)
 {
     for (int i = 0; i < groupIns.Count; i++)
     {
         if (n.transform.position.y > groupIns[i].transform.position.y)
         {
             groupIns.Insert(i + 1, n);
             return;
         }
     }
     groupIns.Add(n);
 }