Exemple #1
0
        private IEnumerator Start()
        {
            while (ResearchAndDevelopment.Instance == null)
            {
                yield return(0);
            }
            while (FlightGlobals.ActiveVessel == null)
            {
                yield return(0);
            }
            while (!FlightGlobals.ready)
            {
                yield return(0);
            }
            Instance = this;
            while (ScienceAlertProfileManager.Instance == null || !ScienceAlertProfileManager.Instance.Ready)
            {
                yield return(0);
            }

            try
            {
                ScienceExperiment experiment = ResearchAndDevelopment.GetExperiment("asteroidSample");
                if (experiment != null)
                {
                    experiment.experimentTitle = "Sample (Asteroid)";
                }
            }
            catch (KeyNotFoundException)
            {
                Destroy(this);
            }
            gameObject.AddComponent <AudioPlayer>().LoadSoundsFrom(ConfigUtil.GetDllDirectoryPath() + "/../sounds");
            gameObject.AddComponent <BiomeFilter>();
            gameObject.AddComponent <ExperimentManager>();
            gameObject.AddComponent <WindowEventLogic>();
            excludeFilters    = new ExcludeFilters();
            ScanInterfaceType = Settings.Instance.ScanInterfaceType;
            //ToolbarType = Settings.Instance.ToolbarInterfaceType;
#if false
            string[] resourceNames = this.GetType().Assembly.GetManifestResourceNames();
            foreach (string resourceName in resourceNames)
            {
                Debug.Log("resource: " + resourceName);
            }
#endif
            SliceAtlasTexture();
            CreateButton();
        }
        private IEnumerator DoStart()
        {
            while (ResearchAndDevelopment.Instance == null)
            {
                yield return(0);
            }
            while (FlightGlobals.ActiveVessel == null)
            {
                yield return(0);
            }
            while (!FlightGlobals.ready)
            {
                yield return(0);
            }
            Instance = this;

            while (ScienceAlertProfileManager.Instance == null || !ScienceAlertProfileManager.Instance.Ready)
            {
                yield return(0);
            }

            try
            {
                ScienceExperiment experiment = ResearchAndDevelopment.GetExperiment("asteroidSample");
                if (experiment != null)
                {
                    experiment.experimentTitle = "Sample (Asteroid)";
                }
            }
            catch (KeyNotFoundException)
            {
                Destroy(this);
            }
            DMagicFactory.InitDMagicFactory();


            gameObject.AddComponent <AudioPlayer>().LoadSoundsFrom(ConfigUtil.GetDllDirectoryPath() + "/../sounds");
            gameObject.AddComponent <BiomeFilter>();
            gameObject.AddComponent <ExperimentManager>();
            gameObject.AddComponent <WindowEventLogic>();
            excludeFilters    = new ExcludeFilters();
            ScanInterfaceType = Settings.Instance.ScanInterfaceType;

            SliceAtlasTexture();
            CreateButton();
        }
        private void DrawAdditionalOptions()
        {
            additionalScrollPos = GUILayout.BeginScrollView(additionalScrollPos, GUILayout.ExpandHeight(true));
            GUILayout.Space(4f);
            GUILayout.BeginVertical(GUILayout.ExpandHeight(true));
            GUILayout.Box(Localizer.Format("#ScienceAlert_label4"), GUILayout.ExpandWidth(true));   //"User Interface Settings"
            GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true));
            GUILayout.Label(Localizer.Format("#ScienceAlert_label5"), GUILayout.ExpandWidth(true)); //"Globally Enable Animation"
            Settings.Instance.FlaskAnimationEnabled = AudibleToggle(Settings.Instance.FlaskAnimationEnabled, string.Empty, null, new[]
            {
                GUILayout.ExpandWidth(false)
            });
            if (!Settings.Instance.FlaskAnimationEnabled && ScienceAlert.Instance.IsAnimating)
            {
                ScienceAlert.Instance.SetLit();
            }
            GUILayout.EndHorizontal();
            Settings.Instance.ShowReportValue     = AudibleToggle(Settings.Instance.ShowReportValue, Localizer.Format("#ScienceAlert_toggle1"));     //"Display Report Value"
            Settings.Instance.DisplayCurrentBiome = AudibleToggle(Settings.Instance.DisplayCurrentBiome, Localizer.Format("#ScienceAlert_toggle2")); //"Display Biome in Experiment List"
            Settings.Instance.EvaReportOnTop      = AudibleToggle(Settings.Instance.EvaReportOnTop, Localizer.Format("#ScienceAlert_toggle3"));      //"List EVA Report first"
            GUILayout.Label(Localizer.Format("#ScienceAlert_label6"));                                                                               //"Window Opacity"
            GUILayout.BeginHorizontal();
            GUILayout.Label(Localizer.Format("#ScienceAlert_label7"), miniLabelLeft);                                                                //"Less"
            GUILayout.FlexibleSpace();
            GUILayout.Label(Localizer.Format("#ScienceAlert_label8"), miniLabelRight);                                                               //"More"
            GUILayout.EndHorizontal();
            Settings.Instance.WindowOpacity = (int)GUILayout.HorizontalSlider(Settings.Instance.WindowOpacity, 0f, 255f, GUILayout.ExpandWidth(true), GUILayout.MaxHeight(16f));
            GUILayout.Space(8f);
            GUILayout.Box(Localizer.Format("#ScienceAlert_label9"), GUILayout.ExpandWidth(true));//"Third-party Integration Options"
            GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true));
            Settings.ScanInterface scanInterfaceType = Settings.Instance.ScanInterfaceType;
            Color color = GUI.color;

            if (!SCANsatInterface.IsAvailable())
            {
                GUI.color = Color.red;
            }
            bool flag = AudibleToggle(Settings.Instance.ScanInterfaceType == Settings.ScanInterface.ScanSat, Localizer.Format("#ScienceAlert_toggle4"), null, new[]//"Enable SCANsat integration"
            {
                GUILayout.ExpandWidth(true)
            });

            GUI.color = color;
            if (flag && scanInterfaceType != Settings.ScanInterface.ScanSat && !SCANsatInterface.IsAvailable())
            {
                PopupDialog.SpawnPopupDialog(new Vector2(0.5f, 0.5f), new Vector2(0.5f, 0.5f), Localizer.Format("#ScienceAlert_Msg1title")
                                             , Localizer.Format("#ScienceAlert_Msg1"), "", Localizer.Format("#ScienceAlert_Msg1_button1"),//"SCANsat Not Found""SCANsat was not found. You must install SCANsat to use this feature.""Okay"
                                             false, HighLogic.UISkin);
                flag = false;
            }
            Settings.Instance.ScanInterfaceType = flag ? Settings.ScanInterface.ScanSat : Settings.ScanInterface.None;
            scienceAlert.ScanInterfaceType      = Settings.Instance.ScanInterfaceType;
            GUILayout.EndHorizontal();
            GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true));
            //Settings.ToolbarInterface toolbarInterfaceType = Settings.Instance.ToolbarInterfaceType;
            Color color2 = GUI.color;

            //bool flag2 = AudibleToggle(Settings.Instance.ToolbarInterfaceType == Settings.ToolbarInterface.BlizzyToolbar, "Use Blizzy toolbar");
            GUI.color = color2;
            //if (flag2 && toolbarInterfaceType != Settings.ToolbarInterface.BlizzyToolbar && !ToolbarManager.ToolbarAvailable)
            //{
            //             PopupDialog.SpawnPopupDialog("Blizzy Toolbar Not Found",
            //                 "Blizzy's toolbar was not found. You must install Blizzy's toolbar to use this feature.",
            //                 "Okay", false, Settings.Skin); //???
            //             flag2 = false;
            //}
            //Settings.Instance.ToolbarInterfaceType = (flag2 ? Settings.ToolbarInterface.BlizzyToolbar : Settings.ToolbarInterface.ApplicationLauncher);

            GUILayout.EndHorizontal();
            GUILayout.Box(Localizer.Format("#ScienceAlert_label10"), GUILayout.ExpandWidth(true));//"Crewed Vessel Settings"
            bool checkSurfaceSampleNotEva = Settings.Instance.CheckSurfaceSampleNotEva;

            Settings.Instance.CheckSurfaceSampleNotEva = AudibleToggle(checkSurfaceSampleNotEva, Localizer.Format("#ScienceAlert_toggle5"));//"Track surface sample in vessel"
            if (checkSurfaceSampleNotEva != Settings.Instance.CheckSurfaceSampleNotEva)
            {
                manager.RebuildObserverList();
            }
            GUILayout.EndVertical();
            GUI.skin = Settings.Skin;
            GUILayout.EndScrollView();
        }