internal override void Awake() { LogFormatted("Awakening the AlternateResourcePanel (ARP)"); LogFormatted("Loading Settings"); settings = new Settings("settings.cfg"); if (!settings.Load()) LogFormatted("Settings Load Failed"); //If the window is in the pre0.24 default then move it down so its not over the app launcher if (new Rect(Screen.width - 310, 0, 310, 40).Contains(settings.vectButtonPos)) { settings.vectButtonPos = new Vector3(Screen.width - 405, 0,0 ); settings.ButtonPosUpdatedv24 = true; settings.Save(); } if (!settings.WindowPosUpdatedv24 && settings.WindowPosition == new Rect(new Rect(Screen.width - 298, 19, 299, 20))) { MonoBehaviourExtended.LogFormatted("Moving window for 0.24"); settings.WindowPosUpdatedv24 = true; settings.Save(); blnResetWindow = true; } //Ensure settings.resources contains all the resources in the loaded game VerifyResources(); //get the sounds and set things up Resources.LoadSounds(); InitAudio(); //Get whether the toolbar is there settings.BlizzyToolbarIsAvailable = ToolbarManager.ToolbarAvailable; //convert blizzy bool to display enum if (settings.UseBlizzyToolbarIfAvailable) { settings.UseBlizzyToolbarIfAvailable = false; settings.ButtonStyleChosen = ARPWindowSettings.ButtonStyleEnum.Toolbar; } //setup the Toolbar button if necessary if (settings.ButtonStyleToDisplay==ARPWindowSettings.ButtonStyleEnum.Toolbar) { btnToolbar = InitToolbarButton(); } ////if requested use that button //if (settings.BlizzyToolbarIsAvailable && settings.UseBlizzyToolbarIfAvailable) // btnToolbar = InitToolbarButton(); //init the global variables lstPartWindows = new ARPPartWindowList(); lstResourcesVessel = new ARPResourceList(ARPResourceList.ResourceUpdate.AddValues, settings.Resources); lstResourcesLastStage = new ARPResourceList(ARPResourceList.ResourceUpdate.AddValues, settings.Resources); lstResourcesVesselPerStage = new Dictionary<Int32, ARPResourceList>(); lstPartsLastStageEngines = new ARPPartList(); lstResourcesToDisplay = new List<Int32>(); SelectedResources = new PartResourceVisibleList(); lstTransfers = new ARPTransferList(); SelectedResources.ResourceRemoved += SelectedResources_ResourceRemoved; lstResourcesVessel.OnMonitorStateChanged += lstResourcesVessel_OnMonitorStateChanged; lstResourcesVessel.OnAlarmStateChanged += lstResourcesVessel_OnAlarmStateChanged; //init the windows InitMainWindow(); InitSettingsWindow(); InitResourceConfigWindow(); InitDebugWindow(); //plug us in to the draw queue and start the worker RenderingManager.AddToPostDrawQueue(1, DrawGUI); StartRepeatingWorker(10); //register for stage separation events - so we can cancel the noise on a sep GameEvents.onStageActivate.Add(OnStageActivate); GameEvents.onFlightReady.Add(OnFlightReady); //Hook the App Launcher OnGUIAppLauncherReady(); //GameEvents.onGUIApplicationLauncherReady.Add(OnGUIAppLauncherReady); GameEvents.onGUIApplicationLauncherUnreadifying.Add(OnGUIAppLauncherUnreadifying); //do the daily version check if required if (settings.DailyVersionCheck) settings.VersionCheck(false); APIAwake(); }
private void DrawWindow_About() { //Update check Area to Add //Update Check Area GUILayout.Label("Version Check", Styles.styleStageTextHead); GUILayout.BeginVertical(Styles.styleSettingsArea, GUILayout.Width(SettingsAreaWidth)); GUILayout.BeginHorizontal(); GUILayout.BeginVertical(); GUILayout.Space(3); if (DrawToggle(ref settings.DailyVersionCheck, "Check Version Daily", Styles.styleToggle)) { settings.Save(); } GUILayout.EndVertical(); GUILayout.FlexibleSpace(); if (GUILayout.Button("Check Version Now")) { settings.VersionCheck(true); //Hide the flag as we already have the window open; settings.VersionAttentionFlag = false; } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.BeginVertical(GUILayout.Width(160)); GUILayout.Space(4); GUILayout.Label("Last Check Attempt:"); GUILayout.Label("Current Version:"); GUILayout.Label("Last Version from Web:"); GUILayout.EndVertical(); GUILayout.BeginVertical(); GUILayout.Label(settings.VersionCheckDate_AttemptString, Styles.styleTextGreen); GUILayout.Label(settings.Version, Styles.styleTextGreen); if (settings.VersionCheckRunning) { Int32 intDots = Convert.ToInt32(Math.Truncate(DateTime.Now.Millisecond / 250d)) + 1; GUILayout.Label(String.Format("{0} Checking", new String('.', intDots)), Styles.styleTextYellowBold); } else { if (settings.VersionAvailable) { GUILayout.Label(String.Format("{0} @ {1}", settings.VersionWeb, settings.VersionCheckDate_SuccessString), Styles.styleTextYellowBold); } else { GUILayout.Label(String.Format("{0} @ {1}", settings.VersionWeb, settings.VersionCheckDate_SuccessString), Styles.styleTextGreen); } } GUILayout.EndVertical(); GUILayout.EndHorizontal(); if (settings.VersionAvailable) { GUILayout.BeginHorizontal(); GUILayout.Space(80); if (GUILayout.Button("Updated Version Available", Styles.styleTextYellowBold)) { Application.OpenURL("https://github.com/TriggerAu/AlternateResourcePanel/releases"); } GUILayout.EndHorizontal(); } GUILayout.EndVertical(); //About Area GUILayout.BeginVertical(Styles.styleSettingsArea, GUILayout.Width(SettingsAreaWidth)); GUILayout.BeginHorizontal(); GUILayout.BeginVertical(); //GUILayout.Label("Written by:", Styles.styleStageTextHead); GUILayout.Label("Documentation and Links:", Styles.styleStageTextHead); GUILayout.Label("Source Code / Downloads:", Styles.styleStageTextHead); GUILayout.Label("Forum Page:", Styles.styleStageTextHead); GUILayout.EndVertical(); GUILayout.BeginVertical(); //GUILayout.Label("Trigger Au",KACResources.styleContent); if (GUILayout.Button("Click Here", Styles.styleTextCenterGreen)) { Application.OpenURL("https://sites.google.com/site/kspalternateresourcepanel/"); } if (GUILayout.Button("Click Here", Styles.styleTextCenterGreen)) { Application.OpenURL("https://github.com/TriggerAu/AlternateResourcePanel/"); } if (GUILayout.Button("Click Here", Styles.styleTextCenterGreen)) { Application.OpenURL("http://forum.kerbalspaceprogram.com/threads/60227-KSP-Alternate-Resource-Panel"); } GUILayout.EndVertical(); GUILayout.EndHorizontal(); GUILayout.EndVertical(); }