コード例 #1
0
        private static void SetObserver(MapFileBase @base, IMapObserver observer)
        {
            if (observer.MapBase != null)
            {
                observer.MapBase.LocationSelectedEvent -= observer.OnLocationSelectedObserver;
                observer.MapBase.LevelChangedEvent     -= observer.OnLevelChangedObserver;
            }

            if ((observer.MapBase = @base) != null)
            {
                observer.MapBase.LocationSelectedEvent += observer.OnLocationSelectedObserver;
                observer.MapBase.LevelChangedEvent     += observer.OnLevelChangedObserver;
            }

            foreach (string key in observer.Panels.Keys)             // ie. TopViewPanel and QuadrantsPanel
            {
                SetObserver(observer.MapBase, observer.Panels[key]);
            }
        }
コード例 #2
0
        internal static void SetObservers(MapFileBase @base)
        {
            var observers = new IMapObserver[]
            {
                TopRouteView.ControlTop,
                TopRouteView.ControlRoute,
                TileView.Control,
                RouteView.Control,
                TopView.Control
            };

            foreach (var f in observers)
            {
                if (f != null)
                {
                    SetObserver(@base, f);
                }
            }

            MainViewUnderlay.Instance.MainViewOverlay.Refresh();
        }