Ejemplo n.º 1
0
 public bool AddChildNode(SceneNode node)
 {
     if (!itemHashSet.ContainsKey(node.GUID))
     {
         itemHashSet.Add(node.GUID, node);
         Items.Add(node);
         if (IsAttached)
         {
             node.Attach(RenderHost);
         }
         forceUpdateTransform = true;
         OnAddChildNode?.Invoke(this, new OnChildNodeChangedArgs(node, Operation.Add));
         return(true);
     }
     else
     {
         return(false);
     }
 }
Ejemplo n.º 2
0
 public bool AddChildNode(SceneNode node)
 {
     if (!itemHashSet.ContainsKey(node.GUID))
     {
         itemHashSet.Add(node.GUID, node);
         Items.Add(node);
         if (node.Parent != NullSceneNode.NullNode && node.Parent != this)
         {
             throw new ArgumentException("SceneNode already attach to a different node");
         }
         node.Parent = this;
         if (IsAttached)
         {
             node.Attach(RenderHost);
         }
         OnAddChildNode?.Invoke(this, new OnChildNodeChangedArgs(node, Operation.Add));
         return(true);
     }
     else
     {
         return(false);
     }
 }