Merge remote-tracking branch 'upstream/experimentals' into newbits
Merge remote-tracking branch 'upstream/experimentals' into newbits

 Binary files a/Assets/Plugins/KerbalEngineer.Unity.dll and b/Assets/Plugins/KerbalEngineer.Unity.dll differ
--- a/Assets/Prefabs/Window.prefab
+++ b/Assets/Prefabs/Window.prefab
@@ -691,8 +691,8 @@
   m_RootOrder: 1
   m_AnchorMin: {x: 1, y: 0}
   m_AnchorMax: {x: 1, y: 1}
-  m_AnchoredPosition: {x: 0, y: 0}
-  m_SizeDelta: {x: 20, y: 0}
+  m_AnchoredPosition: {x: -2, y: 0}
+  m_SizeDelta: {x: 16, y: -4}
   m_Pivot: {x: 1, y: .5}
 --- !u!225 &22579498
 CanvasGroup:

--- a/KerbalEngineer/Settings/SettingsWindow.cs
+++ b/KerbalEngineer/Settings/SettingsWindow.cs
@@ -28,10 +28,18 @@
             {
                 m_Window = StyleManager.CreateWindow("SETTINGS", 600.0f);
 
-                Setting keyBindings = StyleManager.CreateSetting("Key Bindings", m_Window);
-                AddButton(keyBindings, "EDIT KEY BINDINGS", 304.0f, KeyBinder.Show);
+                AddKeyBindingsButton();
+                AddFlightActivationModes();
+                AddBuildOverlayOptions();
 
+                StyleManager.Process(m_Window);
+            }
+        }
 
+        private static void AddBuildOverlayOptions()
+        {
+            if (m_Window != null)
+            {
                 Setting buildOverlay = StyleManager.CreateSetting("Build Engineer Overlay", m_Window);
                 Toggle buildOverlayVisible = AddToggle(buildOverlay, "VISIBLE", 100.0f, value => BuildOverlay.Visible = value);
                 Toggle buildOverlayNamesOnly = AddToggle(buildOverlay, "NAMES ONLY", 100.0f, value => BuildOverlayPartInfo.NamesOnly = value);
@@ -42,17 +50,6 @@
                     buildOverlayNamesOnly.isOn = BuildOverlayPartInfo.NamesOnly;
                     buildOverlayClickToOpen.isOn = BuildOverlayPartInfo.ClickToOpen;
                 });
-
-                Setting flightActivationMode = StyleManager.CreateSetting("Flight Engineer Activation Mode", m_Window);
-                Toggle flightActivationModeCareer = AddToggle(flightActivationMode, "CAREER", 100.0f, value => FlightEngineerCore.IsCareerMode = value);
-                Toggle flightActivationModePartless = AddToggle(flightActivationMode, "PARTLESS", 100.0f, value => FlightEngineerCore.IsCareerMode = !value);
-                AddUpdateHandler(flightActivationMode, () =>
-                {
-                    flightActivationModeCareer.isOn = FlightEngineerCore.IsCareerMode;
-                    flightActivationModePartless.isOn = !FlightEngineerCore.IsCareerMode;
-                });
-
-                StyleManager.Process(m_Window);
             }
         }
 
@@ -62,13 +59,37 @@
 
             if (setting != null)
             {
-                button = setting.AddButton(text,width, onClick);
+                button = setting.AddButton(text, width, onClick);
             }
 
             return button;
         }
 
-        private static Toggle AddToggle(Setting setting, string text,  float width,UnityAction<bool> onValueChanged)
+        private static void AddFlightActivationModes()
+        {
+            if (m_Window != null)
+            {
+                Setting flightActivationMode = StyleManager.CreateSetting("Flight Engineer Activation Mode", m_Window);
+                Toggle flightActivationModeCareer = AddToggle(flightActivationMode, "CAREER", 100.0f, value => FlightEngineerCore.IsCareerMode = value);
+                Toggle flightActivationModePartless = AddToggle(flightActivationMode, "PARTLESS", 100.0f, value => FlightEngineerCore.IsCareerMode = !value);
+                AddUpdateHandler(flightActivationMode, () =>
+                {
+                    flightActivationModeCareer.isOn = FlightEngineerCore.IsCareerMode;
+                    flightActivationModePartless.isOn = !FlightEngineerCore.IsCareerMode;
+                });
+            }
+        }
+
+        private static void AddKeyBindingsButton()
+        {
+            if (m_Window != null)
+            {
+                Setting keyBindings = StyleManager.CreateSetting("Key Bindings", m_Window);
+                AddButton(keyBindings, "EDIT KEY BINDINGS", 304.0f, KeyBinder.Show);
+            }
+        }
+
+        private static Toggle AddToggle(Setting setting, string text, float width, UnityAction<bool> onValueChanged)
         {
             Toggle toggle = null;
 

 Binary files a/Output/KerbalEngineer/KerbalEngineer and b/Output/KerbalEngineer/KerbalEngineer differ
 Binary files a/Output/KerbalEngineer/KerbalEngineer.Unity.dll and b/Output/KerbalEngineer/KerbalEngineer.Unity.dll differ
 Binary files a/Output/KerbalEngineer/KerbalEngineer.dll and b/Output/KerbalEngineer/KerbalEngineer.dll differ
 Binary files a/Output/KerbalEngineer/prefabs and b/Output/KerbalEngineer/prefabs differ
--- a/Output/KerbalEngineer/prefabs.manifest
+++ b/Output/KerbalEngineer/prefabs.manifest
@@ -1,9 +1,9 @@
 ManifestFileVersion: 0
-CRC: 3210499501
+CRC: 247544766
 Hashes:
   AssetFileHash:
     serializedVersion: 2
-    Hash: 82a83dd0d6754676160fa0160fdd2f82
+    Hash: 6c0345330dfdd65954f99b5bf002cb14
   TypeTreeHash:
     serializedVersion: 2
     Hash: f08f4b318e7775189aba716ae3ef79f9