예제 #1
0
        private void OnGUI()
        {
            if (!showGui)
            {
                return;
            }

            GUIDune.LoadSkin(GetControlModule <DuneSettingsWindow>().skinType);

            GUI.skin = GUIDune.skin;


            foreach (DisplayModule module in GetControlModules <DisplayModule>())
            {
                try
                {
                    if (module.enabled)
                    {
                        module.DrawGUI();
                    }
                }
                catch (Exception e)
                {
                    Debug.LogError("[Dune] Core OnGUI() module " + module.GetName() + " Exception: " + e);
                }
            }
        }
예제 #2
0
 private void OnGUI()
 {
     GUIDune.SetupDuneSkin();
     if (GUIDune.skin.IsNull())
     {
         GUIDune.skin = GUIDune.duneSkin;
     }
     GameObject.Destroy(gameObject);
 }
예제 #3
0
        protected override void WindowGUI(int windowId)
        {
            GUILayout.BeginVertical();

            GUIDune.Title("Are you sure you want to reset to default settings?");

            GUILayout.BeginHorizontal();
            if (GUILayout.Button("Do not reset!", GUILayout.ExpandWidth(true)))
            {
                core.GetControlModule <DuneSettingsWindow>().resetAborted = true;
                windowIsHidden = true;
                enabled        = false;
            }
            GUILayout.Space(20f);
            if (GUILayout.Button("Reset!", GUILayout.ExpandWidth(true)))
            {
                windowIsHidden = true;
                enabled        = false;

                KSP.IO.FileInfo.CreateForType <DuneCore>("dune_settings_global.cfg").Delete();

                if (!FlightGlobals.ActiveVessel.IsNull())
                {
                    KSP.IO.FileInfo.CreateForType <DuneCore>("dune_settings_" + FlightGlobals.ActiveVessel.vesselName + ".cfg");
                }

                ScreenMessages.PostScreenMessage("Resetting settings and reloading modules!", 5.0f, ScreenMessageStyle.UPPER_CENTER);

                core.ReloadAllControlModules();
            }
            GUILayout.EndHorizontal();

            GUILayout.EndVertical();

            if (GUI.Button(new Rect(windowPosition.width - 18, 2, 16, 16), ""))
            {
                core.GetControlModule <DuneSettingsWindow>().resetAborted = true;
                windowIsHidden = true;
                enabled        = false;
            }
            GUI.DragWindow();
        }
예제 #4
0
        protected override void WindowGUI(int windowId)
        {
            GUILayout.BeginVertical();

            GUIDune.Title("Skins");
            GUIDune.Label("Current skin: ", skinType.ToString());

            if (GUIDune.skin == null || skinType != GUIDune.SkinType.Dune)
            {
                if (GUILayout.Button("Use Dune GUI skin"))
                {
                    GUIDune.LoadSkin(GUIDune.SkinType.Dune);
                    skinType = GUIDune.SkinType.Dune;
                }
            }

            if (GUIDune.skin == null || skinType != GUIDune.SkinType.Default)
            {
                if (GUILayout.Button("Use default GUI skin"))
                {
                    GUIDune.LoadSkin(GUIDune.SkinType.Default);
                    skinType = GUIDune.SkinType.Default;
                }
            }

            GUILayout.BeginHorizontal();
            GUILayout.Label("Reset all settings to default: ", GUILayout.ExpandWidth(true));
            if (GUILayout.Button("Reset"))
            {
                core.GetControlModule <SettingsDialog>().enabled        = true;
                core.GetControlModule <SettingsDialog>().windowIsHidden = false;
            }
            GUILayout.EndHorizontal();

            GUILayout.EndVertical();

            base.WindowGUI(windowId);
        }
예제 #5
0
        protected override void WindowGUI(int windowId)
        {
            GUILayout.BeginVertical();

            GUIDune.Image(GUIDune.DuneLogo);

            // Menu Design
            selectedMenuIndex = GUILayout.SelectionGrid(selectedMenuIndex, menuContent, 5);
            // End Menu Design

            // Page content
            GUILayout.BeginVertical();

            #region Main Page
            if (selectedMenuIndex == 0)
            {
                GUIDune.Title("Overview");
                GUIDune.Label("", "Higher is better");
                GUIDune.Label("Holtzman Efficiency: ", (core.dataControl.GetHoltzmanTechEfficiency()) + "%");
            }
            if (selectedMenuIndex == 1)
            {
                GUIDune.Title("Navigator Controls");

                // Show Navigator Controls if not activated.

                if (core.navigatorControl.spacefoldInProgress)
                {
                    GUIDune.Title("Spacefold in progress!");
                }
                else
                {
                    scrollPosition = GUILayout.BeginScrollView(scrollPosition);
                    GUILayout.BeginHorizontal();
                    selectedPlanetIndex = GUILayout.SelectionGrid(selectedPlanetIndex, core.navigatorControl.planetEntries(), 1);

                    GUILayout.BeginVertical();
                    GUIDune.Label("some text", "some value");
                    GUIDune.Label("some text", "some value");
                    GUIDune.Label("some text", "some value");
                    GUIDune.Label("some text", "some value");
                    GUILayout.EndVertical();

                    GUILayout.EndHorizontal();
                    GUILayout.EndScrollView();
                    if (!HighLogic.LoadedSceneIsFlight)
                    {
                        GUIDune.Warning("Warning: You can't initiate a spacefold, when you are not in a vessel!");
                    }
                    else if (!core.navigatorControl.spacefolderModuleExists)
                    {
                        GUIDune.Warning("Warning: You can't initiate a spacefold, when your vessel does not contain a Spacefolder!");
                    }
                    else if (!core.navigatorControl.navigatorModuleExists)
                    {
                        GUIDune.Warning("Warning: You can't initiate a spacefold, when your vessel does not contain a Navigator Core!");
                    }
                    else if (core.navigatorControl.planetEntries()[selectedPlanetIndex].text == FlightGlobals.currentMainBody.name)
                    {
                        GUIDune.Warning("Warning: You can't initiate a spacefold to the same planet that you are at!");
                    }
                    else
                    {
                        if (GUILayout.Button("Activate Spacefold", new GUIStyle(GUI.skin.button)
                        {
                            margin = new RectOffset(10, 10, 5, 20)
                        }))
                        {
                            var state = core.navigatorControl.PreliminarySpacefoldProcedure(true, selectedPlanetIndex);
                        }
                    }
                }
            }
            if (selectedMenuIndex == 2)
            {
                GUIDune.Title("Vessel information!");

                // Show engine layout.
                GUIDune.Title("Engine Data");
                if (core.navigatorControl.SettingsRetrieved)
                {
                    GUIDune.Label("Engine Name: ", core.navigatorControl.engineName);
                    GUIDune.Label("Engine Efficency: ", core.navigatorControl.engineEfficiency + "%");
                    GUIDune.Label("Engine Failure: ", core.navigatorControl.engineFailure + "%");
                }
            }
            if (selectedMenuIndex == 3)
            {
                GUIDune.Title("Cargo selected!");
            }
            if (selectedMenuIndex == 4)
            {
                GUIDune.Title("Plugin information!");
            }
            #endregion

            GUILayout.EndVertical();
            // End Page content

            GUILayout.BeginArea(new Rect(0, 480, 700, 20));
            GUIDune.Footer("Copyright © Spacing Guild 2014");
            GUILayout.EndArea();

            GUILayout.EndVertical();

            base.WindowGUI(windowId);
        }