コード例 #1
0
ファイル: ScienceWindow.cs プロジェクト: Simoyd/KSP-X-Science
        /// <summary>
        /// Creates a new instance of the ScienceWindow class.
        /// </summary>
        public ScienceWindow()
        {
            _logger                  = new Logger(this);
            _rect                    = new Rect(40, 40, 500, 400);
            _rect3                   = new Rect(40, 40, 400, 200);
            _scrollPos               = new Vector2();
            _filter                  = new ExperimentFilter();
            _progressTexture         = TextureHelper.FromResource("ScienceChecklist.icons.scienceProgress.png", 13, 13);
            _completeTexture         = TextureHelper.FromResource("ScienceChecklist.icons.scienceComplete.png", 13, 13);
            _progressTextureCompact  = TextureHelper.FromResource("ScienceChecklist.icons.scienceProgressCompact.png", 8, 8);
            _completeTextureCompact  = TextureHelper.FromResource("ScienceChecklist.icons.scienceCompleteCompact.png", 8, 8);
            _currentSituationTexture = TextureHelper.FromResource("ScienceChecklist.icons.currentSituation.png", 25, 21);
            _currentVesselTexture    = TextureHelper.FromResource("ScienceChecklist.icons.currentVessel.png", 25, 21);
            _unlockedTexture         = TextureHelper.FromResource("ScienceChecklist.icons.unlocked.png", 25, 21);
            _allTexture              = TextureHelper.FromResource("ScienceChecklist.icons.all.png", 25, 21);
            _searchTexture           = TextureHelper.FromResource("ScienceChecklist.icons.search.png", 25, 21);
            _clearSearchTexture      = TextureHelper.FromResource("ScienceChecklist.icons.clearSearch.png", 25, 21);
            _settingsTexture         = TextureHelper.FromResource("ScienceChecklist.icons.settings.png", 25, 21);
            _maximizeTexture         = TextureHelper.FromResource("ScienceChecklist.icons.minimize.png", 25, 21);
            _minimizeTexture         = TextureHelper.FromResource("ScienceChecklist.icons.maximize.png", 25, 21);

            _emptyTexture = new Texture2D(1, 1, TextureFormat.ARGB32, false);
            _emptyTexture.SetPixels(new[] { Color.clear });
            _emptyTexture.Apply();
            _settingsPanel = new SettingsPanel();
            _settingsPanel.HideCompleteEventsChanged      += (s, e) => _filter.UpdateFilter( );
            _settingsPanel.CheckDebrisChanged             += (s, e) => _filter.UpdateExperiments( );
            _settingsPanel.CompleteWithoutRecoveryChanged += (s, e) => _filter.UpdateFilter( );
        }
コード例 #2
0
		/// <summary>
		/// Creates a new instance of the ScienceWindow class.
		/// </summary>
		public ScienceWindow () {
			_logger = new Logger(this);
			_rect = new Rect(40, 40, 500, 400);
			_rect3 = new Rect(40, 40, 400, 200);
			_scrollPos = new Vector2();
			_filter = new ExperimentFilter();
			_progressTexture =			TextureHelper.FromResource( "ScienceChecklist.icons.scienceProgress.png", 13, 13 );
			_completeTexture =			TextureHelper.FromResource( "ScienceChecklist.icons.scienceComplete.png", 13, 13 );
			_progressTextureCompact =	TextureHelper.FromResource( "ScienceChecklist.icons.scienceProgressCompact.png", 8, 8 );
			_completeTextureCompact =	TextureHelper.FromResource( "ScienceChecklist.icons.scienceCompleteCompact.png", 8, 8 );
			_currentSituationTexture =	TextureHelper.FromResource( "ScienceChecklist.icons.currentSituation.png", 25, 21 );
			_currentVesselTexture =		TextureHelper.FromResource( "ScienceChecklist.icons.currentVessel.png", 25, 21 );
			_unlockedTexture =			TextureHelper.FromResource( "ScienceChecklist.icons.unlocked.png", 25, 21 );
			_allTexture =				TextureHelper.FromResource( "ScienceChecklist.icons.all.png", 25, 21 );
			_searchTexture =			TextureHelper.FromResource( "ScienceChecklist.icons.search.png", 25, 21 );
			_clearSearchTexture =		TextureHelper.FromResource( "ScienceChecklist.icons.clearSearch.png", 25, 21 );
			_settingsTexture =			TextureHelper.FromResource( "ScienceChecklist.icons.settings.png", 25, 21 );
			_maximizeTexture =			TextureHelper.FromResource( "ScienceChecklist.icons.minimize.png", 25, 21 );
			_minimizeTexture =			TextureHelper.FromResource( "ScienceChecklist.icons.maximize.png", 25, 21 );

			_emptyTexture = new Texture2D(1, 1, TextureFormat.ARGB32, false);
			_emptyTexture.SetPixels(new[] { Color.clear });
			_emptyTexture.Apply();
			_settingsPanel = new SettingsPanel();
			_settingsPanel.HideCompleteEventsChanged += (s, e) => _filter.UpdateFilter( );
			_settingsPanel.CheckDebrisChanged += ( s, e ) => _filter.UpdateExperiments( );
			_settingsPanel.CompleteWithoutRecoveryChanged += ( s, e ) => _filter.UpdateFilter( );
		}
コード例 #3
0
        // Refreshes the experiment filter.
        // This is the lightest update used when the vessel changes
        public void RefreshFilter(object sender, EventArgs e)
        {
            //			_logger.Trace("RefreshFilter");
            if (!IsVisible)
            {
                return;
            }

            _filter.UpdateFilter( );
        }
コード例 #4
0
        public StatusWindow(ScienceChecklistAddon Parent)
            : base("[x] Science! Here and Now", 250, 30)
        {
            _parent                      = Parent;
            _logger                      = new Logger(this);
            _filter                      = new ExperimentFilter(_parent);
            _filter.DisplayMode          = DisplayMode.CurrentSituation;
            _filter.EnforceLabLanderMode = true;

            _emptyTexture = new Texture2D(1, 1, TextureFormat.ARGB32, false);
            _emptyTexture.SetPixels(new[] { Color.clear });
            _emptyTexture.Apply();
            _progressTexture = TextureHelper.FromResource("ScienceChecklist.icons.scienceProgress.png", 13, 13);
            _completeTexture = TextureHelper.FromResource("ScienceChecklist.icons.scienceComplete.png", 13, 13);

            _availableScienceExperiments = new Dictionary <string, bool>( );

            _parent.Config.HideCompleteEventsChanged      += (s, e) => RefreshFilter(s, e);
            _parent.Config.CompleteWithoutRecoveryChanged += (s, e) => RefreshFilter(s, e);

            _parent.ScienceEventHandler.FilterUpdateEvent += (s, e) => RefreshFilter(s, e);
            _parent.ScienceEventHandler.SituationChanged  += (s, e) => UpdateSituation(s, e);
            this.Resizable = false;
            _filter.UpdateFilter( );
        }
コード例 #5
0
        // Refreshes the experiment filter.
        // This is the lightest update used when the vessel changes
        public void RefreshFilter(object sender, EventArgs e)
        {
//			_logger.Trace( "RefreshFilter" );

            if (_moduleScienceExperiments != null)
            {
                _moduleScienceExperiments.Clear( );
            }
            if (_availableScienceExperiments != null)
            {
                _availableScienceExperiments.Clear( );
            }


            Vessel v = FlightGlobals.ActiveVessel;

            if (v != null && HighLogic.LoadedScene == GameScenes.FLIGHT)
            {
                _moduleScienceExperiments = v.FindPartModulesImplementing <ModuleScienceExperiment>( );
            }



            _filter.UpdateFilter( );
        }
コード例 #6
0
		// Refreshes the experiment filter.
		// This is the lightest update used when the vessel changes
		public void RefreshFilter( object sender, EventArgs e )
		{
//			_logger.Trace( "RefreshFilter" );

			if( _moduleScienceExperiments != null )
				_moduleScienceExperiments.Clear( );
			if( _availableScienceExperiments != null )
				_availableScienceExperiments.Clear( );
			if( _DMModuleScienceAnimates != null )
				_DMModuleScienceAnimates.Clear( );
			if( _DMModuleScienceAnimateGenerics != null )
				_DMModuleScienceAnimateGenerics.Clear( );



			Vessel v = FlightGlobals.ActiveVessel;
			if( v != null && HighLogic.LoadedScene == GameScenes.FLIGHT )
			{
				_moduleScienceExperiments = v.FindPartModulesImplementing<ModuleScienceExperiment>( );
				_DMModuleScienceAnimates = v.FindPartModulesImplementing<ModuleScienceExperiment>().Where(x => _parent.DMagic.inheritsFromOrIsDMModuleScienceAnimate(x)).ToList();
				_DMModuleScienceAnimateGenerics = v.FindPartModulesImplementing<ModuleScienceExperiment>().Where(x => _parent.DMagic.inheritsFromOrIsDMModuleScienceAnimateGeneric(x)).ToList();
			}



			_filter.UpdateFilter( );
		}
コード例 #7
0
        public StatusWindow(ScienceChecklistAddon Parent)
            : base("[x] Science! Here and Now", 250, 30)
        {
            _parent                      = Parent;
            UiScale                      = _parent.Config.UiScale;
            _logger                      = new Logger(this);
            _filter                      = new ExperimentFilter(_parent);
            _filter.DisplayMode          = DisplayMode.CurrentSituation;
            _filter.EnforceLabLanderMode = true;

            _emptyTexture = new Texture2D(1, 1, TextureFormat.ARGB32, false);
            _emptyTexture.SetPixels(new[] { Color.clear });
            _emptyTexture.Apply();
            _progressTexture = TextureHelper.LoadImage("icons\\scienceProgress.png", 13, 13);
            _completeTexture = TextureHelper.LoadImage("icons\\scienceComplete.png", 13, 13);

            _GfxTimeWarp         = TextureHelper.LoadImage("icons\\time-warp.png", 13, 13);
            _GfxTimeWarpOff      = TextureHelper.LoadImage("icons\\time-warp-x.png", 13, 13);
            _GfxAudioAlert       = TextureHelper.LoadImage("icons\\audio-alert.png", 13, 13);
            _GfxAudioAlertOff    = TextureHelper.LoadImage("icons\\audio-alert-off.png", 13, 13);
            _GfxResultsWindow    = TextureHelper.LoadImage("icons\\report.png", 13, 13);
            _GfxResultsWindowOff = TextureHelper.LoadImage("icons\\report-x.png", 13, 13);

            _availableScienceExperiments = new Dictionary <string, bool>( );

            _parent.Config.HideCompleteEventsChanged      += (s, e) => RefreshFilter(s, e);
            _parent.Config.CompleteWithoutRecoveryChanged += (s, e) => RefreshFilter(s, e);

            _parent.ScienceEventHandler.FilterUpdateEvent += (s, e) => RefreshFilter(s, e);
            _parent.ScienceEventHandler.SituationChanged  += (s, e) => UpdateSituation(s, e);
            this.Resizable = false;
            _filter.UpdateFilter( );
            _parent.Config.UiScaleChanged += OnUiScaleChange;
        }
コード例 #8
0
 // Refreshes the experiment filter.
 // This is the lightest update used when the vessel changes
 public void RefreshFilter(object sender, EventArgs e)
 {
     //			_logger.Trace("RefreshFilter");
     _filter.UpdateFilter( );
 }