Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        public void GoToSettings()
        {
            this.miniSettings = MiniSettings.Create(new Callback(this.onMiniSettingsFinished));
            CloseWindow();

            screenMSG(GoTo.Settings);
        }
Esempio n. 3
0
        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 {
Esempio n. 4
0
        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);
            }
        }
Esempio n. 5
0
 private void onMiniSettingsFinished()
 {
     this.miniSettings = null;
     gamePause         = true;
     FlightDriver.SetPause(true, false);
 }