コード例 #1
0
		/// <summary>
		/// Called by Unity once to initialize the class, just before Update is called.
		/// </summary>
		public void Start( )
		{
			_logger.Trace( "Start" );

			Config.Load( );

			_addonInitialized = true;
			_active = false;
			_window = new ScienceWindow( );
			_window.Settings.UseBlizzysToolbarChanged += Settings_UseBlizzysToolbarChanged;
			_window.OnCloseEvent += OnWindowClosed;



			_nextSituationUpdate = DateTime.Now;
			GameEvents.onGUIApplicationLauncherReady.Add( Load );
			GameEvents.onGUIApplicationLauncherDestroyed.Add( Unload );

			GameEvents.onVesselWasModified.Add( new EventData<Vessel>.OnEvent( this.VesselWasModified ) );
			GameEvents.onVesselChange.Add( new EventData<Vessel>.OnEvent( this.VesselChange ) );
			GameEvents.onEditorShipModified.Add( new EventData<ShipConstruct>.OnEvent( this.EditorShipModified ) );

			GameEvents.onGameStateSave.Add( new EventData<ConfigNode>.OnEvent( this.GameStateSave ) );
			GameEvents.OnPartPurchased.Add( new EventData<AvailablePart>.OnEvent( this.PartPurchased ) );
			GameEvents.OnTechnologyResearched.Add( new EventData<GameEvents.HostTargetAction<RDTech, RDTech.OperationResult>>.OnEvent( this.TechnologyResearched ) );
			GameEvents.OnScienceChanged.Add( new EventData<float, TransactionReasons>.OnEvent( this.ScienceChanged ) );
			GameEvents.OnScienceRecieved.Add( new EventData<float, ScienceSubject, ProtoVessel, bool>.OnEvent( this.ScienceRecieved ) );
			GameEvents.onVesselRename.Add( new EventData<GameEvents.HostedFromToAction<Vessel, string>>.OnEvent( this.VesselRename ) );
			GameEvents.OnKSCFacilityUpgraded.Add( new EventData<Upgradeables.UpgradeableFacility, int>.OnEvent( this.FacilityUpgrade ) );

			GameEvents.onDominantBodyChange.Add( new EventData<GameEvents.FromToAction<CelestialBody, CelestialBody>>.OnEvent( this.DominantBodyChange ) );
			GameEvents.onVesselSOIChanged.Add( new EventData<GameEvents.HostedFromToAction<Vessel, CelestialBody>>.OnEvent( this.VesselSOIChanged ) );

			DontDestroyOnLoad( this );
		}
コード例 #2
0
        /// <summary>
        /// Called by Unity once to initialize the class, just before Update is called.
        /// </summary>
        public void Start( )
        {
            _logger.Trace("Start");

            Config.Load( );

            _addonInitialized = true;
            _active           = false;
            _window           = new ScienceWindow( );
            _window.Settings.UseBlizzysToolbarChanged += Settings_UseBlizzysToolbarChanged;
            _window.OnCloseEvent += OnWindowClosed;
            _window.OnOpenEvent  += OnWindowOpened;



            // Callbacks for buttons - we init when the button is ready
            GameEvents.onGUIApplicationLauncherReady.Add(Load);
            GameEvents.onGUIApplicationLauncherDestroyed.Add(Unload);

            // Start event handlers
            _EventHandler = new xScienceEventHandler(this, _window);

            // Callbacks for F2
            GameEvents.onHideUI.Add(OnHideUI);
            GameEvents.onShowUI.Add(OnShowUI);

            DontDestroyOnLoad(this);
        }
コード例 #3
0
        // Constructor
        public xScienceEventHandler(ScienceChecklistAddon Parent, ScienceWindow Window)
        {
            _parent = Parent;
            _window = Window;
            _nextSituationUpdate        = DateTime.Now;
            _nextExperimentUpdate       = DateTime.Now;
            _mustDoFullRefresh          = true;
            _filterRefreshPending       = true;
            _vExperimentsRefreshPending = true;


            GameEvents.onGameSceneSwitchRequested.Add(new EventData <GameEvents.FromToAction <GameScenes, GameScenes> > .OnEvent(this.OnGameSceneSwitch));
            GameEvents.onVesselWasModified.Add(new EventData <Vessel> .OnEvent(this.VesselWasModified));
            GameEvents.onVesselChange.Add(new EventData <Vessel> .OnEvent(this.VesselChange));
            GameEvents.onEditorShipModified.Add(new EventData <ShipConstruct> .OnEvent(this.EditorShipModified));

            GameEvents.onGameStateSave.Add(new EventData <ConfigNode> .OnEvent(this.GameStateSave));
            GameEvents.OnPartPurchased.Add(new EventData <AvailablePart> .OnEvent(this.PartPurchased));
            GameEvents.OnTechnologyResearched.Add(new EventData <GameEvents.HostTargetAction <RDTech, RDTech.OperationResult> > .OnEvent(this.TechnologyResearched));
            GameEvents.OnScienceChanged.Add(new EventData <float, TransactionReasons> .OnEvent(this.ScienceChanged));
            GameEvents.OnScienceRecieved.Add(new EventData <float, ScienceSubject, ProtoVessel, bool> .OnEvent(this.ScienceRecieved));
            GameEvents.onVesselRename.Add(new EventData <GameEvents.HostedFromToAction <Vessel, string> > .OnEvent(this.VesselRename));
            GameEvents.OnKSCFacilityUpgraded.Add(new EventData <Upgradeables.UpgradeableFacility, int> .OnEvent(this.FacilityUpgrade));

            GameEvents.onDominantBodyChange.Add(new EventData <GameEvents.FromToAction <CelestialBody, CelestialBody> > .OnEvent(this.DominantBodyChange));
            GameEvents.onVesselSOIChanged.Add(new EventData <GameEvents.HostedFromToAction <Vessel, CelestialBody> > .OnEvent(this.VesselSOIChanged));
        }
コード例 #4
0
        /// <summary>
        /// Called by Unity once to initialize the class.
        /// </summary>
        public void Awake()
        {
            if (_addonInitialized == true)
            {
                // For some reason the addon can be instantiated several times by the KSP addon loader (generally when going to/from the VAB),
                // even though we set onlyOnce to true in the KSPAddon attribute.
                return;
            }

            Config.Load();

            _addonInitialized = true;
            _active           = false;
            _logger           = new Logger(this);
            _logger.Trace("Awake");
            _window = new ScienceWindow();
            _window.Settings.UseBlizzysToolbarChanged += Settings_UseBlizzysToolbarChanged;
            _window.OnCloseEvent += OnWindowClosed;

            _nextSituationUpdate = DateTime.Now;
            GameEvents.onGUIApplicationLauncherReady.Add(Load);
            GameEvents.onGUIApplicationLauncherDestroyed.Add(Unload);

            GameEvents.onVesselWasModified.Add(new EventData <Vessel> .OnEvent(this.VesselWasModified));
            GameEvents.onVesselChange.Add(new EventData <Vessel> .OnEvent(this.VesselChange));
            GameEvents.onEditorShipModified.Add(new EventData <ShipConstruct> .OnEvent(this.EditorShipModified));

            GameEvents.onGameStateSave.Add(new EventData <ConfigNode> .OnEvent(this.GameStateSave));
            GameEvents.OnPartPurchased.Add(new EventData <AvailablePart> .OnEvent(this.PartPurchased));
            GameEvents.OnTechnologyResearched.Add(new EventData <GameEvents.HostTargetAction <RDTech, RDTech.OperationResult> > .OnEvent(this.TechnologyResearched));
            GameEvents.OnScienceChanged.Add(new EventData <float, TransactionReasons> .OnEvent(this.ScienceChanged));
            GameEvents.OnScienceRecieved.Add(new EventData <float, ScienceSubject, ProtoVessel, bool> .OnEvent(this.ScienceRecieved));
            GameEvents.onVesselRename.Add(new EventData <GameEvents.HostedFromToAction <Vessel, string> > .OnEvent(this.VesselRename));


            GameEvents.OnKSCFacilityUpgraded.Add(new EventData <Upgradeables.UpgradeableFacility, int> .OnEvent(this.FacilityUpgrade));
//			GameEvents.OnKSCFacilityUpgrading.Add();
//			GameEvents.OnUpgradeableObjLevelChange.Add();
        }
コード例 #5
0
        /// <summary>
        /// Called by Unity once to initialize the class.
        /// </summary>
        public void Awake()
        {
            if (_addonInitialized == true) {
                // For some reason the addon can be instantiated several times by the KSP addon loader (generally when going to/from the VAB),
                // even though we set onlyOnce to true in the KSPAddon attribute.
                return;
            }

            Config.Load();

            _addonInitialized = true;
            _active = false;
            _logger = new Logger(this);
            _logger.Trace("Awake");
            _window = new ScienceWindow();
            _window.Settings.UseBlizzysToolbarChanged += Settings_UseBlizzysToolbarChanged;
            _window.OnCloseEvent += OnWindowClosed;

            _nextSituationUpdate = DateTime.Now;
            GameEvents.onGUIApplicationLauncherReady.Add(Load);
            GameEvents.onGUIApplicationLauncherDestroyed.Add(Unload);

            GameEvents.onVesselWasModified.Add( new EventData<Vessel>.OnEvent( this.VesselWasModified ) );
            GameEvents.onVesselChange.Add( new EventData<Vessel>.OnEvent( this.VesselChange ) );
            GameEvents.onEditorShipModified.Add( new EventData<ShipConstruct>.OnEvent( this.EditorShipModified ) );

            GameEvents.onGameStateSave.Add( new EventData<ConfigNode>.OnEvent( this.GameStateSave ) );
            GameEvents.OnPartPurchased.Add( new EventData<AvailablePart>.OnEvent( this.PartPurchased ) );
            GameEvents.OnTechnologyResearched.Add( new EventData<GameEvents.HostTargetAction<RDTech, RDTech.OperationResult>>.OnEvent( this.TechnologyResearched ) );
            GameEvents.OnScienceChanged.Add( new EventData<float, TransactionReasons>.OnEvent( this.ScienceChanged ) );
            GameEvents.OnScienceRecieved.Add( new EventData<float, ScienceSubject, ProtoVessel, bool>.OnEvent( this.ScienceRecieved ) );
            GameEvents.onVesselRename.Add( new EventData<GameEvents.HostedFromToAction<Vessel, string>>.OnEvent( this.VesselRename ) );

            GameEvents.OnKSCFacilityUpgraded.Add( new EventData<Upgradeables.UpgradeableFacility, int>.OnEvent( this.FacilityUpgrade ) );
            //			GameEvents.OnKSCFacilityUpgrading.Add();
            //			GameEvents.OnUpgradeableObjLevelChange.Add();
        }
コード例 #6
0
        // Called by Unity once to initialize the class, just before Update is called.
        public void Start( )
        {
            _logger.Trace("Start");

            if (_addonInitialized == true)
            {
                // For some reason the addon can be instantiated several times by the KSP addon loader (generally when going to/from the VAB),
                // even though we set onlyOnce to true in the KSPAddon attribute.
                HammerMusicMute( );                 // Ensure we enforce music volume anyway
                return;
            }
            _addonInitialized = true;
            _active           = false;



            // Config
            Config = new Config( );
            Config.Load( );



            // Music Muting
            if (Config.MusicStartsMuted)
            {
                Muted = true;
                ScreenMessages.PostScreenMessage("[x] Science! - Music Mute");
            }

            GameEvents.onGameSceneSwitchRequested.Add(this.onGameSceneSwitchRequested);
            GameEvents.onLevelWasLoaded.Add(this.onLevelWasLoaded);



//			_logger.Trace( "Making DMagic Factory" );
            DMagic = new DMagicFactory( );
//			_logger.Trace( "Made DMagic Factory" );



//			_logger.Trace( "Making ScienceContext" );
            Science = new ScienceContext(this);
//			_logger.Trace( "Made ScienceContext" );



            // Start event handlers
            ScienceEventHandler = new xScienceEventHandler(this);



            // Settings window
            _settingsWindow = new SettingsWindow(this);
            Config.UseBlizzysToolbarChanged   += Settings_UseBlizzysToolbarChanged;
            Config.RighClickMutesMusicChanged += Settings_RighClickMutesMusicChanged;



            // Help window
            _helpWindow = new HelpWindow(this);



            // Status window
            _alertNoise                 = gameObject.AddComponent <Noise>( );
            _statusWindow               = new StatusWindow(this);
            _statusWindow.NoiseEvent   += OnPlayNoise;
            _statusWindow.WindowClosed += OnStatusWindowClosed;
            _statusWindow.OnCloseEvent += OnStatusWindowClosed;
            _statusWindow.OnOpenEvent  += OnStatusWindowOpened;



            // Checklist window
            _checklistWindow = new ScienceWindow(this, _settingsWindow, _helpWindow);
            _checklistWindow.OnCloseEvent += OnChecklistWindowClosed;
            _checklistWindow.OnOpenEvent  += OnChecklistWindowOpened;



            // ShipState Window
            _shipStateWindow = new ShipStateWindow(this);



            // Save and load checklist window config when the game scene is changed
            // We are only visible in some scenes
            GameEvents.onGameSceneSwitchRequested.Add(new EventData <GameEvents.FromToAction <GameScenes, GameScenes> > .OnEvent(this.OnGameSceneSwitch));



            // Callbacks for buttons - we init when the "Launcher" toolbar is ready
            GameEvents.onGUIApplicationLauncherReady.Add(Load);
            GameEvents.onGUIApplicationLauncherDestroyed.Add(Unload);

            // Callbacks for F2
            GameEvents.onHideUI.Add(OnHideUI);
            GameEvents.onShowUI.Add(OnShowUI);


            DontDestroyOnLoad(this);


            _logger.Trace("Done Start");
        }