コード例 #1
0
        private void OnDestroy()
        {
            Logger.Info("Shutting down");
            MapView.OnEnterMapView -= OnEnterMapView;
            MapView.OnExitMapView  -= OnExitMapView;

            Logger.Debug("Disposing ToolbarButton");
            m_toolbarButton.Dispose();

            Logger.Debug("Disposing window");
            m_window.Dispose();

            Logger.Debug("Disposing OrbitVisibilityController");
            m_visibilityController.OnVisibilityChanged -= OnOrbitVisibilityChanged;
            m_visibilityController.Dispose();

            Logger.Debug("Writing configuration file");
            string configurationDirectory = Path.GetDirectoryName(ConfigurationFile);

            if (configurationDirectory != null && !Directory.Exists(configurationDirectory))
            {
                Directory.CreateDirectory(configurationDirectory);
            }
            ConfigurationParser.SaveToFile(ConfigurationFile, m_configuration);
        }
コード例 #2
0
        // This should now only get called when the game is exiting
        private void OnDestroy()
        {
            Log.Info("Shutting down");
#if falsae
            if (HighLogic.LoadedScene == GameScenes.TRACKSTATION)
            {
                OnExitMapView();
            }
            else
#endif
            {
                MapView.OnEnterMapView -= OnEnterMapView;
                MapView.OnExitMapView  -= OnExitMapView;
            }

            Log.Debug("Disposing window");
            m_window.Dispose();

            Log.Debug("Disposing OrbitVisibilityController");
            m_visibilityController.OnVisibilityChanged -= OnOrbitVisibilityChanged;
            m_visibilityController.Dispose();

            Log.Debug("Writing configuration file");
            string configurationDirectory = Path.GetDirectoryName(ConfigurationFile);
            if (configurationDirectory != null && !Directory.Exists(configurationDirectory))
            {
                Directory.CreateDirectory(configurationDirectory);
            }
            ConfigurationParser.SaveToFile(ConfigurationFile, m_configuration);
        }
コード例 #3
0
        private void Start()
        {
            Logger.Info($"Starting {ModName} v{Version}...");

            var resourceProvider = new ResourceProvider(ModName);

            Logger.Debug("Loading configuration");
            m_configuration = ConfigurationParser.LoadFromFile(ConfigurationFile);
            m_configuration.PropertyChanged += OnConfigurationChanged;
            m_toggleButton = m_configuration.ToggleKey;

            Logger.Debug("Setting up OrbitVisibilityController");
            m_visibilityController = new OrbitVisibilityController(m_configuration);
            m_visibilityController.OnVisibilityChanged += OnOrbitVisibilityChanged;

            // setup window
            Logger.Debug("Creating window");
            m_window = new ConfigurationWindow(ModName, m_configuration, m_visibilityController, resourceProvider);

            // setup toolbar button
            Logger.Debug("Creating toolbar button");
            m_toolbarButton            = new ToolbarButton(resourceProvider);
            m_toolbarButton.OnEnable  += m_window.Show;
            m_toolbarButton.OnDisable += m_window.Hide;

            // get notifcations when player changes to map view
            MapView.OnEnterMapView += OnEnterMapView;
            MapView.OnExitMapView  += OnExitMapView;

            // disable script until woken up by entering map view
            enabled = false;
        }
コード例 #4
0
        internal void Start()
        {
            Log.Info("TooManyOrbitsCoreModule.Start");
            Instance = this;

            resourceProvider = new ResourceProvider(ModName);

            m_configuration = ConfigurationParser.LoadFromFile(ConfigurationFile);
            m_configuration.PropertyChanged += OnConfigurationChanged;
            m_toggleButton = m_configuration.ToggleKey;

            m_visibilityController = new OrbitVisibilityController(m_configuration);
            m_visibilityController.OnVisibilityChanged += OnOrbitVisibilityChanged;

            // setup window
            Log.Debug("Creating window");
            m_window = new ConfigurationWindow(ModName, m_configuration, m_visibilityController, resourceProvider);

            // setup toolbar button
            Log.Debug("Creating toolbar button");
            if (toolbarControl == null)
            {
                BuildButton();
            }

#if false
            if (HighLogic.LoadedScene == GameScenes.TRACKSTATION)
            {
                OnEnterMapView();
            }
            else
#endif
            {
                // get notifcations when player changes to map view
                MapView.OnEnterMapView += OnEnterMapView;
                MapView.OnExitMapView  += OnExitMapView;
            }

            // disable script until woken up by entering map view
            //enabled = false;
            DontDestroyOnLoad(this);
        }