void group_PropertyChanged(object sender, PropertyChangedEventArgs e) { WmoGroup g = sender as WmoGroup; if (e.PropertyName == "Visible") { WMOSceneNode node = ModelSceneService.Instance.MainWMOSceneNode; if (node != null) { node.ShowGroup(g.Index, g.Visible); } } }
public void Update() { WMOSceneNode node = ModelSceneService.Instance.MainWMOSceneNode; Groups.Clear(); if (node == null) { return; } SWMOGroup[] groups = node.Groups; for (int i = 0; i < node.Groups.Length; ++i) { WmoGroup g = new WmoGroup(ref groups[i], i, node.IsGroupShow(i)); Groups.Add(g); g.PropertyChanged += new PropertyChangedEventHandler(group_PropertyChanged); } groupsView = CollectionViewSource.GetDefaultView(Groups); }