コード例 #1
0
        public void OnGUI()
        {
            if (!HighLogic.CurrentGame.Parameters.CustomParams <BLSG1>().useAlternateSkin)
            {
                GUI.skin = HighLogic.Skin;
            }

            if (firstTime || oldAltSkin != HighLogic.CurrentGame.Parameters.CustomParams <BLSG1>().useAlternateSkin)
            {
                gameButtonStyle                    = new GUIStyle(GUI.skin.button);
                gameButtonStyle.alignment          = TextAnchor.MiddleLeft;
                buttonStyleYellow                  = new GUIStyle(GUI.skin.button);
                buttonStyleYellow.normal.textColor = Color.yellow;
                buttonStyleOrange                  = new GUIStyle(GUI.skin.button);
                buttonStyleOrange.normal.textColor = HtmlToColor("#fdb915");
                oldAltSkin = HighLogic.CurrentGame.Parameters.CustomParams <BLSG1>().useAlternateSkin;
                firstTime  = false;
            }

            if (Visible)
            {
                string title = "Load Game";
                if (useArchives)
                {
                    title += " from Archives";
                }
                _windowRect = ClickThruBlocker.GUILayoutWindow(_instanceID, _windowRect, (windowID) =>
                {
                    GUI.enabled = !_visibleDeleteDialog;

                    GUILayout.BeginVertical();
                    RenderSortButtonsPanel();
                    RenderAutoQuickSaveFilter();
                    RenderFilterPanel();
                    RenderGameList();

                    GUILayout.FlexibleSpace();

                    GUILayout.BeginHorizontal();
                    if (lastButtonclicked == "" || lastButtonclicked == "persistent")
                    {
                        GUI.enabled = false;
                    }
                    if (GUILayout.Button("Delete", buttonStyleOrange, GUILayout.Width(90), GUILayout.Height(30)))
                    {
                        _visibleDeleteDialog = true;
                    }
                    if (!useArchives)
                    {
                        if (GUILayout.Button("Archive", GUILayout.Width(90), GUILayout.Height(30)))
                        {
                            ManageOldSaves.MoveSaveToArchive(selectedSave);
                            Main.fetch.RefreshSaves();
                            lastButtonclicked = "";
                        }
                        GUILayout.FlexibleSpace();
                    }
                    GUI.enabled = !_visibleDeleteDialog;

                    GUILayout.FlexibleSpace();
                    if (GUILayout.Button("Cancel", GUI.skin.button, GUILayout.Width(90), GUILayout.Height(30)))
                    {
                        Visible = false;
                        FlightDriver.SetPause(false, false);
                        lastButtonclicked = "";
                        return;
                    }

                    if (lastButtonclicked == "" || _visibleDeleteDialog)
                    {
                        GUI.enabled = false;
                    }
                    if (GUILayout.Button("Load", buttonStyleYellow, GUILayout.Width(90), GUILayout.Height(30)))
                    {
                        Visible = false;
                    }
                    GUI.enabled = true;

                    GUILayout.EndHorizontal();
                    GUILayout.EndVertical();
                    GUI.DragWindow();
                }, title, GUI.skin.window);
            }
            if (lastButtonclicked != "" && !Visible)
            {
                // Do load here
                //Visible = false;

                EnqueueAction(() =>
                {
                    Visible = false;
                    LoadSaveGame(selectedSave);
                });
            }
            if (_visibleDeleteDialog)
            {
                _deleteRect = ClickThruBlocker.GUILayoutWindow(_instanceID + 1, _deleteRect, (winId) =>
                {
                    GUILayout.Label("Are you sure you want to delete this save?\nYou will lose all progress and ships in it.");
                    if (GUILayout.Button("Delete Save"))
                    {
                        if (useArchives)
                        {
                            ManageOldSaves.DeleteSaveGame(ManageOldSaves.ARCHIVEDIR, selectedSave);
                        }
                        else
                        {
                            ManageOldSaves.DeleteSaveGame("", selectedSave);
                        }
                        _visibleDeleteDialog = false;
                        // Visible = false;
                        lastButtonclicked = "";
                    }
                    if (GUILayout.Button("Cancel"))
                    {
                        _visibleDeleteDialog = false;
                    }
                    GUI.DragWindow();
                }, "Confirmation Needed", GUI.skin.window);
            }
        }
コード例 #2
0
 void Delay()
 {
     Log.Info("Calling ManageSaves");
     ManageOldSaves.ManageSaves();
 }