public override void AddChild(int idx, BaseFuncGraphNode n)
    {
        if (children != null && idx < children.Count)
        {
            var curNode = children[idx];
            if (curNode != null)
            {
                curNode.UnsetParent();
            }

            children[idx] = n;
            n.SetParent(this);
        }
        else if (children != null && idx > children.Count)
        {
            // add diference as null set child
            for (int i = children.Count; i < idx - children.Count; i++)
            {
                children.Add(null);
            }
            children.Add(n);
            n.SetParent(this);
        }
        else
        {
            children.Add(n);
            n.SetParent(this);
        }
    }
Пример #2
0
 public override void AddChild(int idx, BaseFuncGraphNode n)
 {
     if (Child != null)
     {
         Child.UnsetParent();
     }
     Child = n;
     n.SetParent(this);
 }
 public void AddLeftChild(BaseFuncGraphNode node)
 {
     if (LeftChild != null)
     {
         LeftChild.UnsetParent();
     }
     LeftChild = node;
     LeftChild.SetParent(this);
 }
 public void AddRightChild(BaseFuncGraphNode node)
 {
     if (RightChild != null)
     {
         RightChild.UnsetParent();
     }
     RightChild = node;
     RightChild.SetParent(this);
 }
Пример #5
0
 public override void AddChild(int idx, BaseFuncGraphNode n)
 {
     if (idx < childNodes.Length)
     {
         if (childNodes[idx] != null)
         {
             childNodes[idx].UnsetParent();
         }
         childNodes[idx] = n;
         n.SetParent(this);
     }
 }
 public void AddChild(BaseFuncGraphNode newChild)
 {
     children.Add(newChild);
     newChild.SetParent(this);
 }