void DestroyMeshObject() { if (meshObject != null) { sceneNode.Detach(meshObject); sceneNode.Dispose(); sceneNode = null; meshObject.Dispose(); meshObject = null; } }
/// <summary> /// Removes the child node. /// </summary> /// <param name="node">The node.</param> /// <returns></returns> public bool RemoveChildNode(SceneNode node) { if (itemHashSet.Remove(node.GUID)) { node.Detach(); Items.Remove(node); OnRemoveChildNode?.Invoke(this, new OnChildNodeChangedArgs(node, Operation.Remove)); return(true); } else { return(false); } }
/// <summary> /// Removes the child node. /// </summary> /// <param name="node">The node.</param> /// <returns></returns> public bool RemoveChildNode(SceneNode node) { if (node != null && itemHashSet.Remove(node.GUID)) { node.Detach(); ItemsInternal.Remove(node); node.Parent = null; ChildNodeRemoved?.Invoke(this, new OnChildNodeChangedArgs(node, Operation.Remove)); return(true); } else { return(false); } }