Пример #1
0
 public static void SpawnDialog()
 {
     PopupDialog.SpawnPopupDialog(
         new MultiOptionDialog("DisclaimerWindow", LocalizationContainer.DisclaimerDialogText.Text, LocalizationContainer.DisclaimerDialogText.Title,
                               HighLogic.UISkin,
                               new Rect(.5f, .5f, 425f, 150f),
                               new DialogGUIFlexibleSpace(),
                               new DialogGUIVerticalLayout(
                                   new DialogGUIHorizontalLayout(
                                       new DialogGUIButton(LocalizationContainer.DisclaimerDialogText.Accept,
                                                           delegate
     {
         SettingsSystem.CurrentSettings.DisclaimerAccepted = true;
         MainSystem.Singleton.Enabled = true;
         SettingsSystem.SaveSettings();
     }
                                                           ),
                                       new DialogGUIFlexibleSpace(),
                                       new DialogGUIButton(LocalizationContainer.DisclaimerDialogText.OpenUrl,
                                                           delegate
     {
         Application.OpenURL("http://forum.kerbalspaceprogram.com/index.php?/topic/154851-add-on-posting-rules-march-8-2017/");
     }
                                                           , false),
                                       new DialogGUIFlexibleSpace(),
                                       new DialogGUIButton(LocalizationContainer.DisclaimerDialogText.Decline,
                                                           delegate
     {
         LunaLog.LogError("[LMP]: User did not accept disclaimer");
     }
                                                           ),
                                       new DialogGUIFlexibleSpace(),
                                       new DialogGUIButton(LocalizationContainer.GetCurrentLanguageAsText(),
                                                           delegate
     {
         LocalizationContainer.LoadLanguage(LocalizationContainer.GetNextLanguage());
         SettingsSystem.CurrentSettings.Language = LocalizationContainer.CurrentLanguage;
         SettingsSystem.SaveSettings();
         SpawnDialog();
     }
                                                           )
                                       )
                                   )
                               ),
         true,
         HighLogic.UISkin
         );
 }
Пример #2
0
 public static void SpawnDialog()
 {
     PopupDialog.SpawnPopupDialog(
         new MultiOptionDialog("DisclaimerWindow", LocalizationContainer.DisclaimerDialogText.Text, LocalizationContainer.DisclaimerDialogText.Title,
                               HighLogic.UISkin,
                               new Rect(.5f, .5f, 425f, 150f),
                               new DialogGUIFlexibleSpace(),
                               new DialogGUIVerticalLayout(
                                   new DialogGUIHorizontalLayout(
                                       new DialogGUIButton(LocalizationContainer.DisclaimerDialogText.Accept,
                                                           delegate
     {
         SettingsSystem.CurrentSettings.DisclaimerAccepted = true;
         MainSystem.Singleton.Enabled = true;
         SettingsSystem.SaveSettings();
         MainSystem.Singleton.StartCoroutine(UpdateHandler.CheckForUpdates());
     }
                                                           ),
                                       new DialogGUIFlexibleSpace(),
                                       new DialogGUIButton(LocalizationContainer.DisclaimerDialogText.Decline,
                                                           delegate
     {
         LunaLog.LogError("[LMP]: User did not accept disclaimer");
     }
                                                           ),
                                       new DialogGUIFlexibleSpace(),
                                       new DialogGUIButton(LocalizationContainer.GetCurrentLanguageAsText(),
                                                           delegate
     {
         LocalizationContainer.LoadLanguage(LocalizationContainer.GetNextLanguage());
         SettingsSystem.CurrentSettings.Language = LocalizationContainer.CurrentLanguage;
         SettingsSystem.SaveSettings();
         SpawnDialog();
     }
                                                           )
                                       )
                                   )
                               ),
         true,
         HighLogic.UISkin
         );
 }
Пример #3
0
        public override void DrawWindowContent(int windowId)
        {
            //Player color
            GUILayout.BeginVertical(BoxStyle);
            GUI.DragWindow(MoveRect);
            GUILayout.BeginHorizontal();
            GUILayout.Label(LocalizationContainer.OptionsWindowText.Language);
            if (GUILayout.Button(LocalizationContainer.GetCurrentLanguageAsText(), ButtonStyle))
            {
                LocalizationContainer.LoadLanguage(LocalizationContainer.GetNextLanguage());
                SettingsSystem.CurrentSettings.Language = LocalizationContainer.CurrentLanguage;
                SettingsSystem.SaveSettings();
            }
            GUILayout.EndHorizontal();
            GUILayout.BeginHorizontal();
            GUILayout.Label(LocalizationContainer.OptionsWindowText.Color);
            GUILayout.Label(SettingsSystem.CurrentSettings.PlayerName, _tempColorLabelStyle);
            GUILayout.EndHorizontal();
            GUILayout.BeginHorizontal();
            GUILayout.Label(LocalizationContainer.OptionsWindowText.Red, _smallOption);
            _tempColor.r = GUILayout.HorizontalScrollbar(_tempColor.r, 0, 0, 1);
            GUILayout.EndHorizontal();
            GUILayout.BeginHorizontal();
            GUILayout.Label(LocalizationContainer.OptionsWindowText.Green, _smallOption);
            _tempColor.g = GUILayout.HorizontalScrollbar(_tempColor.g, 0, 0, 1);
            GUILayout.EndHorizontal();
            GUILayout.BeginHorizontal();
            GUILayout.Label(LocalizationContainer.OptionsWindowText.Blue, _smallOption);
            _tempColor.b = GUILayout.HorizontalScrollbar(_tempColor.b, 0, 0, 1);
            GUILayout.EndHorizontal();
            _tempColorLabelStyle.active.textColor = _tempColor;
            _tempColorLabelStyle.normal.textColor = _tempColor;
            GUILayout.BeginHorizontal();
            if (GUILayout.Button(LocalizationContainer.OptionsWindowText.Random, ButtonStyle))
            {
                _tempColor = PlayerColorSystem.GenerateRandomColor();
            }
            if (GUILayout.Button(LocalizationContainer.OptionsWindowText.Set, ButtonStyle))
            {
                StatusWindow.Singleton.ColorEventHandled   = false;
                SettingsSystem.CurrentSettings.PlayerColor = _tempColor;
                SettingsSystem.SaveSettings();
                if (MainSystem.NetworkState == ClientState.Running)
                {
                    PlayerColorSystem.Singleton.MessageSender.SendPlayerColorToServer();
                }
            }
            GUILayout.EndHorizontal();

            GUILayout.Space(10);
            var settingInterpolator = GUILayout.Toggle(SettingsSystem.CurrentSettings.PositionInterpolation, "Use interpolation", ButtonStyle);

            if (settingInterpolator != SettingsSystem.CurrentSettings.PositionInterpolation)
            {
                SettingsSystem.CurrentSettings.PositionInterpolation = settingInterpolator;
                SettingsSystem.SaveSettings();
            }
            GUILayout.Space(10);

            if (GUILayout.Button(LocalizationContainer.OptionsWindowText.GenerateLmpModControl))
            {
                ModSystem.Singleton.GenerateModControlFile(false);
            }
            if (GUILayout.Button(LocalizationContainer.OptionsWindowText.GenerateLmpModControl + " + SHA"))
            {
                ModSystem.Singleton.GenerateModControlFile(true);
            }
            _displayUniverseConverterDialog = GUILayout.Toggle(_displayUniverseConverterDialog, LocalizationContainer.OptionsWindowText.GenerateUniverse, ButtonStyle);
            GUILayout.Space(10);
#if DEBUG
            DrawAdvancedDebugOptions();
#endif
            GUILayout.FlexibleSpace();
            GUILayout.EndVertical();
        }
Пример #4
0
        protected override void DrawWindowContent(int windowId)
        {
            //Player color
            GUILayout.BeginVertical();
            GUI.DragWindow(MoveRect);
            GUILayout.BeginHorizontal();
            GUILayout.Label(LocalizationContainer.OptionsWindowText.Language);
            if (GUILayout.Button(LocalizationContainer.GetCurrentLanguageAsText()))
            {
                LocalizationContainer.LoadLanguage(LocalizationContainer.GetNextLanguage());
                SettingsSystem.CurrentSettings.Language = LocalizationContainer.CurrentLanguage;
                SettingsSystem.SaveSettings();
            }
            GUILayout.EndHorizontal();

            GUILayout.Label(LocalizationContainer.OptionsWindowText.Color);

            GUILayout.BeginHorizontal(Skin.box, GUILayout.ExpandWidth(true));
            GUILayout.Label(SettingsSystem.CurrentSettings.PlayerName, _tempColorLabelStyle);
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Label(LocalizationContainer.OptionsWindowText.Red, _smallOption);
            _tempColor.r = GUILayout.HorizontalScrollbar(_tempColor.r, 0, 0, 1);
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Label(LocalizationContainer.OptionsWindowText.Green, _smallOption);
            _tempColor.g = GUILayout.HorizontalScrollbar(_tempColor.g, 0, 0, 1);
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Label(LocalizationContainer.OptionsWindowText.Blue, _smallOption);
            _tempColor.b = GUILayout.HorizontalScrollbar(_tempColor.b, 0, 0, 1);
            GUILayout.EndHorizontal();

            _tempColorLabelStyle.fontStyle        = FontStyle.Bold;
            _tempColorLabelStyle.fontSize         = 40;
            _tempColorLabelStyle.alignment        = TextAnchor.MiddleCenter;
            _tempColorLabelStyle.active.textColor = _tempColor;
            _tempColorLabelStyle.normal.textColor = _tempColor;

            GUILayout.BeginHorizontal();
            if (GUILayout.Button(LocalizationContainer.OptionsWindowText.Random))
            {
                _tempColor = PlayerColorSystem.GenerateRandomColor();
            }
            if (GUILayout.Button(LocalizationContainer.OptionsWindowText.Set))
            {
                StatusWindow.Singleton.ColorEventHandled   = false;
                SettingsSystem.CurrentSettings.PlayerColor = _tempColor;
                SettingsSystem.SaveSettings();
                if (MainSystem.NetworkState == ClientState.Running)
                {
                    PlayerColorSystem.Singleton.MessageSender.SendPlayerColorToServer();
                }
            }
            GUILayout.EndHorizontal();

            GUILayout.Space(10);
            if (GUILayout.Button(LocalizationContainer.OptionsWindowText.GenerateLmpModControl))
            {
                ModSystem.Singleton.GenerateModControlFile(false);
            }
            if (GUILayout.Button(LocalizationContainer.OptionsWindowText.GenerateLmpModControl + " + SHA"))
            {
                ModSystem.Singleton.GenerateModControlFile(true);
            }
            _displayUniverseConverterDialog = GUILayout.Toggle(_displayUniverseConverterDialog, LocalizationContainer.OptionsWindowText.GenerateUniverse, ToggleButtonStyle);
            GUILayout.Space(10);

            DrawGeneralSettings();
            DrawNetworkSettings();
#if DEBUG
            DrawAdvancedDebugOptions();
#endif
            GUILayout.FlexibleSpace();
            GUILayout.EndVertical();
        }
Пример #5
0
        public void DrawContent(int windowId)
        {
            if (!LoadEventHandled)
            {
                LoadEventHandled = true;
                TempColor        = SettingsSystem.CurrentSettings.PlayerColor;
            }
            //Player color
            GUILayout.BeginVertical();
            GUI.DragWindow(MoveRect);
            GUILayout.BeginHorizontal();
            GUILayout.Label(LocalizationContainer.OptionsWindowText.Language);
            if (GUILayout.Button(LocalizationContainer.GetCurrentLanguageAsText(), ButtonStyle))
            {
                LocalizationContainer.LoadLanguage(LocalizationContainer.GetNextLanguage());
                SettingsSystem.CurrentSettings.Language = LocalizationContainer.CurrentLanguage;
                SettingsSystem.SaveSettings();
            }
            GUILayout.EndHorizontal();
            GUILayout.BeginHorizontal();
            GUILayout.Label(LocalizationContainer.OptionsWindowText.Color);
            GUILayout.Label(SettingsSystem.CurrentSettings.PlayerName, TempColorLabelStyle);
            GUILayout.EndHorizontal();
            GUILayout.BeginHorizontal();
            GUILayout.Label(LocalizationContainer.OptionsWindowText.Red, SmallOption);
            TempColor.r = GUILayout.HorizontalScrollbar(TempColor.r, 0, 0, 1);
            GUILayout.EndHorizontal();
            GUILayout.BeginHorizontal();
            GUILayout.Label(LocalizationContainer.OptionsWindowText.Green, SmallOption);
            TempColor.g = GUILayout.HorizontalScrollbar(TempColor.g, 0, 0, 1);
            GUILayout.EndHorizontal();
            GUILayout.BeginHorizontal();
            GUILayout.Label(LocalizationContainer.OptionsWindowText.Blue, SmallOption);
            TempColor.b = GUILayout.HorizontalScrollbar(TempColor.b, 0, 0, 1);
            GUILayout.EndHorizontal();
            TempColorLabelStyle.active.textColor = TempColor;
            TempColorLabelStyle.normal.textColor = TempColor;
            GUILayout.BeginHorizontal();
            if (GUILayout.Button(LocalizationContainer.OptionsWindowText.Random, ButtonStyle))
            {
                TempColor = PlayerColorSystem.GenerateRandomColor();
            }
            if (GUILayout.Button(LocalizationContainer.OptionsWindowText.Set, ButtonStyle))
            {
                StatusWindow.Singleton.ColorEventHandled   = false;
                SettingsSystem.CurrentSettings.PlayerColor = TempColor;
                SettingsSystem.SaveSettings();
                if (MainSystem.NetworkState == ClientState.Running)
                {
                    PlayerColorSystem.Singleton.MessageSender.SendPlayerColorToServer();
                }
            }
            GUILayout.EndHorizontal();
            GUILayout.Space(10);
            //Key bindings
            var chatDescription = $"{LocalizationContainer.OptionsWindowText.SetChatKey} {SettingsSystem.CurrentSettings.ChatKey}";

            if (SettingChat)
            {
                chatDescription = LocalizationContainer.OptionsWindowText.SettingChatKey;
                if (Event.current.isKey)
                {
                    if (Event.current.keyCode != KeyCode.Escape)
                    {
                        SettingsSystem.CurrentSettings.ChatKey = Event.current.keyCode;
                        SettingsSystem.SaveSettings();
                        SettingChat = false;
                    }
                    else
                    {
                        SettingChat = false;
                    }
                }
            }
            if (GUILayout.Button(chatDescription))
            {
                SettingChat = !SettingChat;
            }
            if (GUILayout.Button(LocalizationContainer.OptionsWindowText.ResetDisclaimer))
            {
                SettingsSystem.CurrentSettings.DisclaimerAccepted = false;
                SettingsSystem.SaveSettings();
            }
            var settingInterpolation = GUILayout.Toggle(SettingsSystem.CurrentSettings.InterpolationEnabled, LocalizationContainer.OptionsWindowText.Interpolation, ButtonStyle);

            if (settingInterpolation != SettingsSystem.CurrentSettings.InterpolationEnabled)
            {
                SettingsSystem.CurrentSettings.InterpolationEnabled = settingInterpolation;
                SettingsSystem.SaveSettings();
            }
            var closeBtnInConnectionWindow = GUILayout.Toggle(SettingsSystem.CurrentSettings.CloseBtnInConnectionWindow, LocalizationContainer.OptionsWindowText.ShowClose, ButtonStyle);

            if (closeBtnInConnectionWindow != SettingsSystem.CurrentSettings.CloseBtnInConnectionWindow)
            {
                SettingsSystem.CurrentSettings.CloseBtnInConnectionWindow = closeBtnInConnectionWindow;
                SettingsSystem.SaveSettings();
            }
            GUILayout.Space(10);
            GUILayout.Label(LocalizationContainer.OptionsWindowText.GenerateLmpModControl);
            if (GUILayout.Button(LocalizationContainer.OptionsWindowText.GenerateBlackList))
            {
                ModSystem.Singleton.GenerateModControlFile(false);
            }
            if (GUILayout.Button(LocalizationContainer.OptionsWindowText.GenerateWhiteList))
            {
                ModSystem.Singleton.GenerateModControlFile(true);
            }
            UniverseConverterWindow.Singleton.Display = GUILayout.Toggle(UniverseConverterWindow.Singleton.Display, LocalizationContainer.OptionsWindowText.GenerateUniverse, ButtonStyle);
            GUILayout.Space(10);
            GUILayout.BeginHorizontal();
            GUILayout.Label(LocalizationContainer.OptionsWindowText.Toolbar, SmallOption);
            if (GUILayout.Button(ToolbarMode, ButtonStyle))
            {
                var newSetting = (int)SettingsSystem.CurrentSettings.ToolbarType + 1;
                //Overflow to 0
                if (!Enum.IsDefined(typeof(LmpToolbarType), newSetting))
                {
                    newSetting = 0;
                }
                SettingsSystem.CurrentSettings.ToolbarType = (LmpToolbarType)newSetting;
                SettingsSystem.SaveSettings();
                UpdateToolbarString();
                ToolbarSystem.Singleton.ToolbarChanged();
            }
            GUILayout.EndHorizontal();
#if DEBUG
            DrawAdvancedDebugOptions();
#endif
            GUILayout.FlexibleSpace();
            if (GUILayout.Button(LocalizationContainer.OptionsWindowText.Close, ButtonStyle))
            {
                Display = false;
            }
            GUILayout.EndVertical();
        }