void Start()
        {
            TechName          = TechNameTemplate.Replace("<TAG>", animationName.Replace("Offset", ""));
            actionGUIName     = "Enable/disable angled nozzle";
            endEventGUIName   = "Disable angled nozzle";
            startEventGUIName = "Enable angled nozzle";

            if (PartLoader.DoesPartExist(TechName))
            {
                techPart           = PartLoader.getPartInfoByName(TechName);
                techPartResearched = PartResearched(techPart);
                if (!techPartResearched)
                {
                    if (HighLogic.LoadedScene != GameScenes.LOADING)
                    {
                        Log.Info(TechName + ", not researched yet");
                        part.RemoveModule(this);
                    }
                }
                else
                {
                    Log.Info("researched");
                }
            }
        }
Exemple #2
0
 void Start()
 {
     Log.Info("Start");
     if (HighLogic.LoadedSceneIsEditor || HighLogic.LoadedSceneIsFlight)
     {
         techPartResearched = ModSegSRBs.PartAvailable(ModSegSRBs.PPTechName);
         Log.Info("Start, techPartResearched(" + ModSegSRBs.PPTechName + "): " + techPartResearched);
         if (!techPartResearched)
         {
             // remove the fuel since it isn't being used
             if (this.part != null)
             {
                 PartResourceList prl = this.part.Resources;
                 if (prl.Contains(ModSegSRBs.SeparatronFuel))
                 {
                     part.RemoveResource(ModSegSRBs.SeparatronFuel);
                 }
             }
             if (HighLogic.LoadedScene != GameScenes.LOADING && HighLogic.LoadedScene != GameScenes.EDITOR)
             {
                 Log.Info(ModSegSRBs.PPTechName + ", not researched yet");
                 part.RemoveModule(this);
             }
         }
         else
         {
             Log.Info(ModSegSRBs.PPTechName + " researched");
         }
     }
 }
Exemple #3
0
        internal void Start()
        {
            try
            {
                // Reset frame error latch if set
                //if (FrameErrTripped)
                FrameErrTripped = false;
                Log.Info("Addon.Start");
                // Instantiate event handlers
                GameEvents.onGameSceneSwitchRequested.Add(OnGameSceneSwitchRequested);

                // If we are not in flight, the rest does not get done!
                //if (!HighLogic.LoadedSceneIsFlight)
                //    return;

                GameEvents.onGameSceneLoadRequested.Add(OnGameSceneLoadRequested);
                GameEvents.onShowUI.Add(OnShowUi);
                GameEvents.onHideUI.Add(OnHideUi);
                GameEvents.onVesselCreate.Add(onVesselCreate);
                GameEvents.onVesselDestroy.Add(onVesselDestroy);
                InitExperiments();

                FindVesselsWithSkylab();

                StartCoroutine("SlowUpdate");
            }
            catch (Exception ex)
            {
                Log.Error($"Addon.Start. Error: {ex}");
            }
        }
 void Start()
 {
     techPartResearched = ModSegSRBs.PartAvailable(ModSegSRBs.ParachuteTechName);
     if (!techPartResearched)
     {
         if (HighLogic.LoadedScene != GameScenes.LOADING)
         {
             Log.Info(ModSegSRBs.ParachuteTechName + ", not researched yet");
             part.RemoveModule(this);
         }
     }
     else
     {
         Log.Info(ModSegSRBs.ParachuteTechName + "researched");
     }
 }
        public void Start()
        {
#if DEBUg
            Log = new KSP_Log.Log("Achievements", KSP_Log.Log.LEVEL.INFO);
#else
            Log = new KSP_Log.Log("Achievements", KSP_Log.Log.LEVEL.ERROR);
#endif
            Log.Info("Achievements.Start");
            fetch = this;

            achievementEarnedClip        = GameDatabase.Instance.GetAudioClip("Achievements/achievement");
            achievementEarnedAudioSource = gameObject.AddComponent <AudioSource>();

            achievementEarnedAudioSource.clip        = achievementEarnedClip;
            achievementEarnedAudioSource.panStereo   = 0;
            achievementEarnedAudioSource.playOnAwake = false;
            achievementEarnedAudioSource.loop        = false;
            achievementEarnedAudioSource.Stop();
            //windowButton = ToolbarManager.Instance.add("achievements", "achievements");
            //windowButton.TexturePath = "Achievements/button-normal";
            //windowButton.ToolTip = "Achievements";
            //windowButton.Visibility = new GameScenesVisibility(GameScenes.FLIGHT, GameScenes.TRACKSTATION, GameScenes.EDITOR);
            //windowButton.OnClick += (e) => toggleAchievementsWindow();

            GameEvents.onShowUI.Add(onShowUI);
            GameEvents.onHideUI.Add(onHideUI);
            StartCoroutine("SlowUpdate");
            DontDestroyOnLoad(this);
        }
        public override void OnStart(StartState stat)
        {
            if (HighLogic.LoadedSceneIsEditor)
            {
                if (!ModSegSRBs.PartAvailable(ModSegSRBs.ParachuteTechName))
                {
                    Events["DisableParachute"].guiActiveEditor = false;
                    disableParachute = true;
                }

                if (!ModSegSRBs.PartAvailable(ModSegSRBs.MFCTechName))
                {
                    Events["DisableMFC"].guiActiveEditor = false;
                    disableMFC = true;
                }

                Log.Info("OnStart, (" + ModSegSRBs.PPTechName + "): " + ModSegSRBs.PartAvailable(ModSegSRBs.PPTechName));
                if (!ModSegSRBs.PartAvailable(ModSegSRBs.PPTechName))
                {
                    Events["DisablePP"].guiActiveEditor = false;
                    disablePP = true;
                }
            }
            part.RestoreVariant();
            base.OnStart(stat);
        }
Exemple #7
0
 void OnGameSettingsApplied()
 {
     Log.Info("OnGameSettingsApplied, debugMode: " + HighLogic.CurrentGame.Parameters.CustomParams <S_O_S>().debugMode);
     if (DebugStuff.fetch != null)
     {
         Log.Info("OnGameSettingsApplied 1");
         if (HighLogic.CurrentGame.Parameters.CustomParams <S_O_S>().debugMode&& DebugStuff.fetch.toolbarControl == null)
         {
             Log.Info("OnGameSettingsApplied 1.1");
             DebugStuff.fetch.InitializeToolbar();
         }
         Log.Info("OnGameSettingsApplied 2");
         if (!HighLogic.CurrentGame.Parameters.CustomParams <S_O_S>().debugMode&& DebugStuff.fetch.toolbarControl != null)
         {
             Log.Info("OnGameSettingsApplied 2.1");
             DebugStuff.fetch.OnDestroy();
         }
         Log.Info("OnGameSettingsApplied 3");
     }
 }
Exemple #8
0
        public static KSP_Log.Log Log; // Initialized in Registertoolbar



        void Start()
        {
            Instance = this;

            GameEvents.OnGameSettingsApplied.Add(ReloadSettings);
            GameEvents.onGameStatePostLoad.Add(ReloadSettings);
            Log.Info("[DangIt]: Start.");
            AddAppButton();

            ReloadSettings();
        }
        public override void Start()
        {
            techPartResearched = ModSegSRBs.PartAvailable(ModSegSRBs.MFCTechName);
            if (!techPartResearched)
            {
                if (HighLogic.LoadedScene != GameScenes.LOADING)
                {
                    part.RemoveModule(this);
                }
            }
            else
            {
                Log.Info(ModSegSRBs.MFCTechName + " researched");
            }

            base.Start();
        }
 void Start()
 {
     Log.Info("Main.Start");
 }
 public AutoQuickSaveSystem()
 {
     Log.Info("A.Q.S.S.");
 }
        void Start()
        {
            nonThrustMotor = true;
            attNode        = this.part.FindAttachNode(attachNode);
            activated      = false;
#if true
            base.Events["Activate"].active    = false;
            base.Events["Activate"].guiActive = false;

            base.Events["Shutdown"].active    = false;
            base.Events["Shutdown"].guiActive = false;

            base.Fields["independentThrottle"].guiActive       = false;
            base.Fields["independentThrottle"].guiActiveEditor = false;

            base.Fields["independentThrottlePercentage"].guiActive       = false;
            base.Fields["independentThrottlePercentage"].guiActiveEditor = false;

            base.Fields["thrustPercentage"].guiActive       = false;
            base.Fields["thrustPercentage"].guiActiveEditor = false;

            Actions["ToggleThrottle"].active       = false;
            Actions["ToggleThrottle"].activeEditor = false;



            foreach (var e in Events)
            {
                Log.Info("Event: " + e.name + ", guiName = " + e.GUIName);
            }
            foreach (var a in Actions)
            {
                Log.Info("Action: " + a.name + ", guiName: " + a.guiName);
            }
#endif
            if (HighLogic.LoadedSceneIsFlight)
            {
                PartModuleList pml = part.Modules;
                if (pml.Contains <MSSRB_Fuel_Segment>())
                {
                    thisSegment = pml.GetModule <MSSRB_Fuel_Segment>();
                }

                if (attNode != null && attNode.attachedPart != null)
                {
                    pml = attNode.attachedPart.Modules;
                    if (pml != null)
                    {
                        if (pml.Contains <MSSRB_Fuel_Segment>())
                        {
                            attachedSegment = pml.GetModule <MSSRB_Fuel_Segment>();
                        }

                        if (pml.Contains <MSSRB_Endcap>())
                        {
                            attachedEndCap = pml.GetModule <MSSRB_Endcap>();
                        }

                        if (pml.Contains <MSSRB_Engine>())
                        {
                            attachedMotor = pml.GetModule <MSSRB_Engine>();
                        }
                    }
                }
            }
        }
 public void RestoreVariant()
 {
     Log.Info("Restoring variant: GetSelectedVariant(): " + GetSelectedVariant());
 }
        private void checkAchievements()
        {
            long now = DateTime.UtcNow.Ticks / 10000; // 1 millisecond

            if ((now - lastCheck) >= CHECK_INTERVAL)  // this delays it to every 1.5 seconds
            {
                Vessel vessel = (FlightGlobals.fetch != null) ? FlightGlobals.ActiveVessel : null;
                if (vessel != null && EarnedAchievements.instance != null)
                {
                    foreach (Achievement achievement in EarnedAchievements.instance.achievementsList)
                    {
                        if (EarnedAchievements.instance.earnedAchievements == null || !EarnedAchievements.instance.earnedAchievements.ContainsKey(achievement.getKey()))
                        {
                            string key = achievement.getKey();

                            //Vessel vessel = (FlightGlobals.fetch != null) ? FlightGlobals.ActiveVessel : null;
                            //if (vessel != null)
                            //{
                            try
                            {
                                if (achievement.check(vessel))
                                {
                                    string          key2 = achievement.getKey();
                                    AchievementEarn earn = new AchievementEarn(now, (vessel != null) ? vessel.vesselName : Achievements.UNKNOWN_VESSEL, achievement);
                                    EarnedAchievements.instance.earnedAchievements.Add(achievement.getKey(), earn);

                                    // queue for later display
                                    queuedEarnedAchievements.Add(achievement.getKey(), achievement);
                                }
                            }

                            catch (Exception e)
                            {
                                Log.Exception(e);
                            }
                        }
                    }
                }
#if DEBUG
                long done = DateTime.UtcNow.Ticks / 10000;
                Log.Info("checking achievements took " + (done - now) + " ms");
#endif
                if ((queuedEarnedAchievements.Count() > 0) && (toast == null))
                {
                    Achievement achievement = queuedEarnedAchievements[queuedEarnedAchievements.Keys.Min()];
                    queuedEarnedAchievements.Remove(achievement.getKey());
                    //if (EarnedAchievements.instance.earnedAchievements.ContainsKey(achievement))
                    toast = null;
                    //bool found = false;
                    foreach (var e in EarnedAchievements.instance.earnedAchievements)
                    {
                        if (e.Key == achievement.getKey())
                        {
                            toast = new Toast(achievement, e.Value);
                            playAchievementEarnedClip();
                            awardReputation(achievement);
                            //found = true;
                            break;
                        }
                    }
                }

                lastCheck = now;
            }
        }