void RemoveNodeFromDic(EngineNS.GamePlay.SceneGraph.ISceneNode node) { mViewDataDic.Remove(node); foreach (var childNode in node.ChildrenNode) { RemoveNodeFromDic(childNode); } }
public SceneGraphNodeViewData(SceneGraphNodeViewData parent, EngineNS.GamePlay.SceneGraph.ISceneNode srcNode) { Parent = parent; mSrcSceneNode = srcNode; Name = srcNode.Name; BindingOperations.SetBinding(this, NameProperty, new Binding("Name") { Source = srcNode, Mode = BindingMode.TwoWay }); BindingOperations.SetBinding(this, VisibleProperty, new Binding("Visible") { Source = srcNode, Mode = BindingMode.TwoWay }); }
SceneGraphNodeViewData CreateNodeItem(SceneGraphNodeViewData parent, EngineNS.GamePlay.SceneGraph.ISceneNode srcNode) { var viewData = new SceneGraphNodeViewData(parent, srcNode); if (parent != null) { parent.Children.Add(viewData); viewData.Parent = parent; } mViewDataDic.Add(srcNode, viewData); foreach (var childNode in srcNode.ChildrenNode) { CreateNodeItem(viewData, childNode); } return(viewData); }