コード例 #1
0
        void portal_PropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            WmoPortal g = sender as WmoPortal;

            if (e.PropertyName == "Visible")
            {
                WMOSceneNode node = ModelSceneService.Instance.MainWMOSceneNode;
                if (node != null)
                {
                    node.ShowPortal(g.Index, g.Visible, new SColor(255, 255, 0));
                }
            }
            else if (e.PropertyName == "GroupsVisible")
            {
                WMOSceneNode node = ModelSceneService.Instance.MainWMOSceneNode;
                if (node != null)
                {
                    node.ShowPortalGroups(g.Index, g.GroupsVisible);
                }
            }
        }
コード例 #2
0
        public void Update()
        {
            WMOSceneNode node = ModelSceneService.Instance.MainWMOSceneNode;

            Portals.Clear();

            if (node == null)
            {
                return;
            }

            SWMOPortal[] portals = node.Portals;
            for (int i = 0; i < node.Portals.Length; ++i)
            {
                WmoPortal g = new WmoPortal(ref portals[i], i, node.IsPortalShow(i), node.IsPortalGroupsShow(i));
                Portals.Add(g);

                g.PropertyChanged += new PropertyChangedEventHandler(portal_PropertyChanged);
            }

            portalsView = CollectionViewSource.GetDefaultView(Portals);
        }