private void draw(int id) { if (GUILayout.Button("Resume Simulation", _guiSkin.button)) { Close(); } GUILayout.Space(SPACER); if (GUILayout.Button("<color=orange>Abort Simulation</color>", _guiSkin.button)) { _activePopup = PopupDialog.SpawnPopupDialog(new MultiOptionDialog(null, new Callback(drawAbortWarning), "Aborting Simulation", HighLogic.Skin, new DialogOption[0]), false, HighLogic.Skin); Hide(); } if (FlightDriver.CanRevertToPostInit) { if (GUILayout.Button("<color=orange>Restart Simulation</color>", _guiSkin.button)) { _activePopup = PopupDialog.SpawnPopupDialog(new MultiOptionDialog(null, new Callback(drawRevertWarning), "Reverting Simulation", HighLogic.Skin, new DialogOption[0]), false, HighLogic.Skin); Hide(); } } GUILayout.Space(SPACER); if (GUILayout.Button("Settings", _guiSkin.button)) { Hide(); _miniSettings = MiniSettings.Create(Unhide); } }
public void GoToSettings() { this.miniSettings = MiniSettings.Create(new Callback(this.onMiniSettingsFinished)); CloseWindow(); screenMSG(GoTo.Settings); }
private void draw(int id) { if (!simTermination) { if (GUILayout.Button("Resume Simulation"/*, _guiSkin.button */)) { Log.Info("Close 1"); Close(); } GUILayout.Space(SPACER); } if (GUILayout.Button("<color=orange>Terminate Simulation</color>"/*, _guiSkin.button */)) { string revertTarget; switch (KRASHShelter.lastScene) { case GameScenes.EDITOR: switch (KRASHShelter.lastEditor) { case EditorFacility.SPH: revertTarget = "Spaceplane Hangar"; break; case EditorFacility.VAB: revertTarget = "Vehicle Assembly Building"; break; // This should never happen. If it does, just go to the SC default: revertTarget = "Space Center"; KRASHShelter.lastScene = GameScenes.SPACECENTER; break; } break; case GameScenes.SPACECENTER: revertTarget = "Space Center"; break; default: revertTarget = "Pre-Simulation"; break; } string s = "Revert to " + revertTarget + " (" + KSPUtil.PrintTimeLong(((int)(Planetarium.GetUniversalTime() - FlightDriver.PostInitState.UniversalTime))); DialogGUIBase[] options = new DialogGUIBase[2]; options[0] = new DialogGUIButton(s, () => { StartCoroutine(WaitForFlightResultsDialog()); }); options[1] = new DialogGUIButton("Cancel", () => { Log.Info("Close 2"); Close(); }); var multidialog = new MultiOptionDialog("krash2", "Terminating will set the game back to an earlier state. Are you sure you want to continue?", "Terminating Simulation", HighLogic.UISkin, 450, options); _activePopup = PopupDialog.SpawnPopupDialog(new Vector2(0.5f, 0.5f), new Vector2(0.5f, 0.5f), multidialog, false, HighLogic.UISkin, true); Hide(); } if (FlightDriver.CanRevertToPostInit) { if (GUILayout.Button("<color=orange>Restart Simulation</color>"/*, _guiSkin.button*/)) { DialogGUIBase[] options = new DialogGUIBase[2]; string s = "Revert to Launch(" + KSPUtil.PrintTimeLong(((int)(Planetarium.GetUniversalTime() - FlightDriver.PostInitState.UniversalTime))) + " ago"; options[0] = new DialogGUIButton(s, () => { Log.Info("Close 3"); Close(); Log.Info("Close 4"); Close(); FlightDriver.RevertToLaunch(); // The RevertTolaunch reloads all the objects, so we destroy them here to avoid conflicts KRASHShelter.instance.DestroyModules(); }); options[1] = new DialogGUIButton("Cancel", () => { Log.Info("Close 5"); Close(); }); var multidialog = new MultiOptionDialog("krash3", "Reverting will set the game back to an earlier state. Are you sure you want to continue?", "Reverting Simulation", HighLogic.UISkin, 450, options); _activePopup = PopupDialog.SpawnPopupDialog(new Vector2(0.5f, 0.5f), new Vector2(0.5f, 0.5f), multidialog, false, HighLogic.UISkin, true); // _activePopup = PopupDialog.SpawnPopupDialog(new Vector2(0.5f, 0.5f), new Vector2(0.5f, 0.5f), // new MultiOptionDialog(null, new Callback (drawRevertWarning), "Reverting Simulation", HighLogic.Skin, new DialogOption[0]), false, HighLogic.Skin); APIManager.ApiInstance.SimRestartEvent.Fire((Vessel)FlightGlobals.ActiveVessel, KRASHShelter.simCost + KRASHShelter.simSetupCost); Hide(); } } GUILayout.Space(SPACER); if (GUILayout.Button("Settings"/*, _guiSkin.button*/)) { Hide(); _miniSettings = MiniSettings.Create(Unhide); } #if false } else {
private void onMiniSettingsFinished() { this.miniSettings = null; gamePause = true; FlightDriver.SetPause(true, false); }