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(); }