Exemple #1
0
        private void GuiConfigWindow(int windowID)
        {
            #region GUI - Styles
            guiButtonStyle = new GUIStyle(GUI.skin.button);
            guiButtonStyle.normal.textColor = guiButtonStyle.focused.textColor = Color.white;
            guiButtonStyle.hover.textColor = guiButtonStyle.active.textColor = Color.yellow;
            guiButtonStyle.onNormal.textColor = guiButtonStyle.onFocused.textColor = guiButtonStyle.onHover.textColor = guiButtonStyle.onActive.textColor = Color.green;
            guiButtonStyle.padding = new RectOffset(4, 4, 4, 4);
            guiButtonStyle.alignment = TextAnchor.MiddleCenter;

            guiDataboxStyle = new GUIStyle(GUI.skin.box);
            guiDataboxStyle.margin.top = guiDataboxStyle.margin.bottom = -5;
            guiDataboxStyle.border.top = guiDataboxStyle.border.bottom = 0;
            guiDataboxStyle.wordWrap = false;
            guiDataboxStyle.alignment = TextAnchor.MiddleCenter;

            guigreenStyle = new GUIStyle(GUI.skin.label);
            guigreenStyle.normal.textColor = Color.green;

            guiYellowStyle = new GUIStyle(GUI.skin.label);
            guiYellowStyle.normal.textColor = Color.yellow;

            guiCyanStyle = new GUIStyle(GUI.skin.label);
            guiCyanStyle.normal.textColor = Color.cyan;

            guiMagentaStyle = new GUIStyle(GUI.skin.label);
            guiMagentaStyle.normal.textColor = Color.magenta;

            guiCenterStyle = new GUIStyle(GUI.skin.label);
            guiCenterStyle.alignment = TextAnchor.MiddleCenter;

            guiBoldCenterStyle = new GUIStyle(GUI.skin.label);
            guiBoldCenterStyle.alignment = TextAnchor.MiddleCenter;
            guiBoldCenterStyle.fontStyle = FontStyle.Bold;

            #endregion

            if (clickedPart)
            {
                GUILayout.Label("--- " + clickedPart.partInfo.title + "(" + clickedPart.partInfo.name + ") ---", guiYellowStyle);
            }
            else
            {
                GUILayout.Label("--- No part selected ---", guiYellowStyle);               
            }
            GUILayout.Label("( Use Ctrl + mouse click to select a part )", guiCenterStyle);

            #region Increment setting
            GUILayout.BeginHorizontal();
            GUILayout.Label("Increment", GUILayout.Width(100f));
            if (GUILayout.Button("-", guiButtonStyle, GUILayout.Width(30f)))
            {
                if (((float)Math.Round(configIncrement / 10f, 5)) > 0.000001)
                {
                    configIncrement = (float)Math.Round(configIncrement / 10f, 5);
                }
            }
            GUILayout.Label(configIncrement.ToString(), GUILayout.Width(80f));
            if (GUILayout.Button("+", guiButtonStyle, GUILayout.Width(30f)))
            {
                configIncrement = (float)Math.Round(configIncrement * 10f, 5);
            }
            if (GUILayout.Button("Def.", guiButtonStyle, GUILayout.Width(50f)))
            {
                configIncrement = 1;
            }
            GUILayout.EndHorizontal();
            #endregion

            GUILayout.BeginHorizontal();
            if (moduleGrab)
            {
                if (GUILayout.Button("Grab", guiButtonStyle))
                {
                    menu = KASGuiConfigMenu.GRAB;
                }
            }
            if (moduleSuctionCup)
            {
                if (GUILayout.Button("SuctionCup", guiButtonStyle))
                {
                    menu = KASGuiConfigMenu.SUCTION;
                }
            }
            if (moduleMagnet)
            {
                if (GUILayout.Button("Magnet", guiButtonStyle))
                {
                    menu = KASGuiConfigMenu.MAGNET;
                }
            }
            if (moduleGrapple)
            {
                if (GUILayout.Button("Grapple", guiButtonStyle))
                {
                    menu = KASGuiConfigMenu.GRAPPLE;
                }
            }
            if (moduleWinch)
            {
                if (GUILayout.Button("Winch", guiButtonStyle))
                {
                    menu = KASGuiConfigMenu.WINCH;
                }
            }
            if (moduleTimedBomb)
            {
                if (GUILayout.Button("TimedBomb", guiButtonStyle))
                {
                    menu = KASGuiConfigMenu.TIMEDBOMB;
                }
            }
            if (modulePort)
            {
                if (GUILayout.Button("Port", guiButtonStyle))
                {
                    menu = KASGuiConfigMenu.PORT;
                }
            }
            if (moduleAnchor)
            {
                if (GUILayout.Button("Anchor", guiButtonStyle))
                {
                    menu = KASGuiConfigMenu.ANCHOR;
                }
            }
            if (moduleStrut)
            {
                if (GUILayout.Button("Strut", guiButtonStyle))
                {
                    menu = KASGuiConfigMenu.STRUT;
                }
            }
            if (moduleRotor)
            {
                if (GUILayout.Button("Rotor", guiButtonStyle))
                {
                    menu = KASGuiConfigMenu.ROTOR;
                }
            }

            if (!moduleGrab && !moduleSuctionCup && !moduleMagnet && !moduleWinch && !moduleTimedBomb && !modulePort && !moduleGrapple && !moduleAnchor && !moduleRotor)
            {
                GUILayout.Label("No supported module found !", guiMagentaStyle);
            }

            GUILayout.EndHorizontal();

            if (menu == KASGuiConfigMenu.WINCH)
            {
                GuiConfigWinchTab();
            }
            if (menu == KASGuiConfigMenu.GRAB)
            {
                GuiConfigEvaGrabTab();
            }
            if (menu == KASGuiConfigMenu.SUCTION)
            {
                GuiConfigSuctionCupTab();
            }
            if (menu == KASGuiConfigMenu.GRAPPLE)
            {
                GuiConfigGrappleTab();
            }
            if (menu == KASGuiConfigMenu.MAGNET)
            {
                GuiConfigMagnetTab();
            }
            if (menu == KASGuiConfigMenu.TIMEDBOMB)
            {
                GuiConfigTimedBombTab();
            }
            if (menu == KASGuiConfigMenu.PORT)
            {
                GuiConfigPortTab();
            }
            if (menu == KASGuiConfigMenu.ANCHOR)
            {
                GuiConfigAnchorTab();
            }
            if (menu == KASGuiConfigMenu.STRUT)
            {
                GuiConfigStrutTab();
            }
            if (menu == KASGuiConfigMenu.ROTOR)
            {
                GuiConfigRotorTab();
            }
            
            if (GUILayout.Button("Close", guiButtonStyle))
            {
                GuiConfigToogle = false;
            }

            GUI.DragWindow();
        }
        private void GuiConfigWindow(int windowID)
        {
            #region GUI - Styles
            guiButtonStyle = new GUIStyle(GUI.skin.button);
            guiButtonStyle.normal.textColor    = Color.white;
            guiButtonStyle.focused.textColor   = Color.white;
            guiButtonStyle.hover.textColor     = Color.yellow;
            guiButtonStyle.active.textColor    = Color.yellow;
            guiButtonStyle.onNormal.textColor  = Color.green;
            guiButtonStyle.onFocused.textColor = Color.green;
            guiButtonStyle.onHover.textColor   = Color.green;
            guiButtonStyle.onActive.textColor  = Color.green;
            guiButtonStyle.padding             = new RectOffset(4, 4, 4, 4);
            guiButtonStyle.alignment           = TextAnchor.MiddleCenter;

            guiDataboxStyle            = new GUIStyle(GUI.skin.box);
            guiDataboxStyle.margin.top = guiDataboxStyle.margin.bottom = -5;
            guiDataboxStyle.border.top = guiDataboxStyle.border.bottom = 0;
            guiDataboxStyle.wordWrap   = false;
            guiDataboxStyle.alignment  = TextAnchor.MiddleCenter;

            guigreenStyle = new GUIStyle(GUI.skin.label);
            guigreenStyle.normal.textColor = Color.green;

            guiYellowStyle = new GUIStyle(GUI.skin.label);
            guiYellowStyle.normal.textColor = Color.yellow;

            guiCyanStyle = new GUIStyle(GUI.skin.label);
            guiCyanStyle.normal.textColor = Color.cyan;

            guiMagentaStyle = new GUIStyle(GUI.skin.label);
            guiMagentaStyle.normal.textColor = Color.magenta;

            guiCenterStyle           = new GUIStyle(GUI.skin.label);
            guiCenterStyle.alignment = TextAnchor.MiddleCenter;

            guiBoldCenterStyle           = new GUIStyle(GUI.skin.label);
            guiBoldCenterStyle.alignment = TextAnchor.MiddleCenter;
            guiBoldCenterStyle.fontStyle = FontStyle.Bold;

            #endregion

            if (clickedPart)
            {
                GUILayout.Label("--- " + clickedPart.partInfo.title
                                + "(" + clickedPart.partInfo.name + ") ---", guiYellowStyle);
            }
            else
            {
                GUILayout.Label("--- No part selected ---", guiYellowStyle);
            }
            GUILayout.Label("( Use Ctrl + mouse click to select a part )", guiCenterStyle);

            #region Increment setting
            GUILayout.BeginHorizontal();
            GUILayout.Label("Increment", GUILayout.Width(100f));
            if (GUILayout.Button("-", guiButtonStyle, GUILayout.Width(30f)))
            {
                if (((float)Math.Round(configIncrement / 10f, 5)) > 0.000001)
                {
                    configIncrement = (float)Math.Round(configIncrement / 10f, 5);
                }
            }
            GUILayout.Label(configIncrement.ToString(), GUILayout.Width(80f));
            if (GUILayout.Button("+", guiButtonStyle, GUILayout.Width(30f)))
            {
                configIncrement = (float)Math.Round(configIncrement * 10f, 5);
            }
            if (GUILayout.Button("Def.", guiButtonStyle, GUILayout.Width(50f)))
            {
                configIncrement = 1;
            }
            GUILayout.EndHorizontal();
            #endregion

            GUILayout.BeginHorizontal();
            if (moduleMagnet)
            {
                if (GUILayout.Button("Magnet", guiButtonStyle))
                {
                    menu = KASGuiConfigMenu.MAGNET;
                }
            }
            if (moduleGrapple)
            {
                if (GUILayout.Button("Grapple", guiButtonStyle))
                {
                    menu = KASGuiConfigMenu.GRAPPLE;
                }
            }
            if (moduleWinch)
            {
                if (GUILayout.Button("Winch", guiButtonStyle))
                {
                    menu = KASGuiConfigMenu.WINCH;
                }
            }
            if (modulePort)
            {
                if (GUILayout.Button("Port", guiButtonStyle))
                {
                    menu = KASGuiConfigMenu.PORT;
                }
            }
            if (moduleAnchor)
            {
                if (GUILayout.Button("Anchor", guiButtonStyle))
                {
                    menu = KASGuiConfigMenu.ANCHOR;
                }
            }
            if (moduleStrut)
            {
                if (GUILayout.Button("Strut", guiButtonStyle))
                {
                    menu = KASGuiConfigMenu.STRUT;
                }
            }
            if (moduleRotor)
            {
                if (GUILayout.Button("Rotor", guiButtonStyle))
                {
                    menu = KASGuiConfigMenu.ROTOR;
                }
            }

            if (!moduleMagnet && !moduleWinch && !modulePort &&
                !moduleGrapple && !moduleAnchor && !moduleRotor)
            {
                GUILayout.Label("No supported module found !", guiMagentaStyle);
            }

            GUILayout.EndHorizontal();

            if (menu == KASGuiConfigMenu.WINCH)
            {
                GuiConfigWinchTab();
            }
            if (menu == KASGuiConfigMenu.GRAPPLE)
            {
                GuiConfigGrappleTab();
            }
            if (menu == KASGuiConfigMenu.MAGNET)
            {
                GuiConfigMagnetTab();
            }
            if (menu == KASGuiConfigMenu.PORT)
            {
                GuiConfigPortTab();
            }
            if (menu == KASGuiConfigMenu.ANCHOR)
            {
                GuiConfigAnchorTab();
            }
            if (menu == KASGuiConfigMenu.STRUT)
            {
                GuiConfigStrutTab();
            }
            if (menu == KASGuiConfigMenu.ROTOR)
            {
                GuiConfigRotorTab();
            }

            if (GUILayout.Button("Close", guiButtonStyle))
            {
                GuiConfigToogle = false;
            }

            GUI.DragWindow();
        }