Пример #1
0
        public void Start()
        {
            instance = this;

            loadPresetsFromFile();
            DontDestroyOnLoad(this);
        }
Пример #2
0
        private void optionsWindow(int id)
        {
            if (GUI.Button(new Rect(window.width - 16, 2, 14, 14), ""))
            {
                bDisplayOptions = false;
            }

            bDisplayAssistant = GUILayout.Toggle(bDisplayAssistant, "Pilot Assistant", GeneralUI.UISkin.customStyles[(int)myStyles.btnToggle]);
            bDisplaySAS       = GUILayout.Toggle(bDisplaySAS, "Stock SAS", GeneralUI.UISkin.customStyles[(int)myStyles.btnToggle]);
            bDisplaySSAS      = GUILayout.Toggle(bDisplaySSAS, "SSAS", GeneralUI.UISkin.customStyles[(int)myStyles.btnToggle]);
            bDisplayBindings  = GUILayout.Toggle(bDisplayBindings, "Keybindings", GeneralUI.UISkin.customStyles[(int)myStyles.btnToggle]);

            if (GUILayout.Button("Update Defaults"))
            {
                PresetManager.updateDefaults();
            }
            if (controlledVessels.Count > 1)
            {
                GUILayout.Box("", GUILayout.Height(10));
                for (int i = 0; i < controlledVessels.Count; i++)
                {
                    if (controlledVessels[i].vesselRef.isActiveVessel)
                    {
                        GUI.backgroundColor = Color.green;
                    }
                    bool tmp = GUILayout.Toggle(i == selectedVesselIndex, controlledVessels[i].vesselRef.vesselName, GeneralUI.UISkin.customStyles[(int)myStyles.btnToggle], GUILayout.Width(120));
                    if (tmp)
                    {
                        selectedVesselIndex = i;
                    }
                    GUI.backgroundColor = GeneralUI.stockBackgroundGUIColor;
                }
            }
            GUI.DragWindow();
        }
Пример #3
0
        void Initialise()
        {
            controllers[(int)PIDList.HdgBank]   = new PID_Controller(defaultHdgBankGains);
            controllers[(int)PIDList.HdgYaw]    = new PID_Controller(defaultHdgYawGains);
            controllers[(int)PIDList.Aileron]   = new PID_Controller(defaultAileronGains);
            controllers[(int)PIDList.Rudder]    = new PID_Controller(defaultRudderGains);
            controllers[(int)PIDList.Altitude]  = new PID_Controller(defaultAltitudeGains);
            controllers[(int)PIDList.VertSpeed] = new PID_Controller(defaultVSpeedGains);
            controllers[(int)PIDList.Elevator]  = new PID_Controller(defaultElevatorGains);
            controllers[(int)PIDList.Throttle]  = new PID_Controller(defaultThrottleGains);

            // Set up a default preset that can be easily returned to
            if (PresetManager.Instance.craftPresetList.ContainsKey("default"))
            {
                if (PresetManager.Instance.craftPresetList["default"].AsstPreset == null)
                {
                    PresetManager.Instance.craftPresetList["default"].AsstPreset = new AsstPreset(controllers, "default");
                }
            }
            else
            {
                PresetManager.Instance.craftPresetList.Add("default", new CraftPreset("default", new AsstPreset(controllers, "default"), null, null, true));
            }

            PresetManager.saveDefaults();

            init = true;
        }
Пример #4
0
        public void Start()
        {
            instance = this;

            if (!init)
            {
                Initialise();
            }

            // register vessel
            if (FlightData.thisVessel == null)
            {
                FlightData.thisVessel = FlightGlobals.ActiveVessel;
            }

            PresetManager.loadCraftAsstPreset();

            Utils.GetAsst(PIDList.Aileron).InMax  = 180;
            Utils.GetAsst(PIDList.Aileron).InMin  = -180;
            Utils.GetAsst(PIDList.Altitude).InMin = 0;
            Utils.GetAsst(PIDList.Throttle).InMin = 0;

            FlightData.thisVessel.OnPostAutopilotUpdate += new FlightInputCallback(vesselController);
            GameEvents.onVesselChange.Add(vesselSwitch);

            RenderingManager.AddToPostDrawQueue(5, drawGUI);
        }
Пример #5
0
 public void OnDestroy()
 {
     RenderingManager.RemoveFromPostDrawQueue(5, drawGUI);
     GameEvents.onVesselChange.Remove(vesselSwitch);
     PresetManager.saveToFile();
     bHdgActive  = false;
     bVertActive = false;
 }
Пример #6
0
        private void vesselSwitch(Vessel v)
        {
            FlightData.thisVessel.OnPostAutopilotUpdate -= new FlightInputCallback(vesselController);
            FlightData.thisVessel = v;
            FlightData.thisVessel.OnPostAutopilotUpdate += new FlightInputCallback(vesselController);

            PresetManager.loadCraftAsstPreset();
        }
Пример #7
0
 public static void initDefaultPresets(RSASPreset p)
 {
     initDefaultPresets();
     if (ReferenceEquals(Instance.craftPresetDict[craftDefaultName].RSASPreset, null))
     {
         Instance.craftPresetDict[craftDefaultName].RSASPreset = p;
     }
     PresetManager.saveDefaults();
 }
Пример #8
0
 public void Start()
 {
     // only ever a single instance of this class created upon reaching the main menu for the first time
     Instance = this;
     // make sure that instance is never recovered while loading
     DontDestroyOnLoad(this);
     // load preset data saved from a previous time
     LoadPresetsFromFile();
 }
Пример #9
0
        private void displayPresetWindow(int id)
        {
            if (GUI.Button(new Rect(presetWindow.width - 16, 2, 14, 14), ""))
            {
                showPresets = false;
            }

            if (PresetManager.Instance.activePAPreset != null)
            {
                GUILayout.Label(string.Format("Active Preset: {0}", PresetManager.Instance.activePAPreset.name));
                if (PresetManager.Instance.activePAPreset.name != "default")
                {
                    if (GUILayout.Button("Update Preset"))
                    {
                        PresetManager.updatePAPreset(controllers);
                    }
                }
                GUILayout.Box("", GUILayout.Height(10), GUILayout.Width(180));
            }

            GUILayout.BeginHorizontal();
            newPresetName = GUILayout.TextField(newPresetName);
            if (GUILayout.Button("+", GUILayout.Width(25)))
            {
                PresetManager.newPAPreset(ref newPresetName, controllers);
            }
            GUILayout.EndHorizontal();

            GUILayout.Box("", GUILayout.Height(10), GUILayout.Width(180));

            if (GUILayout.Button("Reset to Defaults"))
            {
                PresetManager.loadPAPreset(PresetManager.Instance.craftPresetList["default"].AsstPreset);
            }

            GUILayout.Box("", GUILayout.Height(10), GUILayout.Width(180));

            foreach (AsstPreset p in PresetManager.Instance.PAPresetList)
            {
                GUILayout.BeginHorizontal();
                if (GUILayout.Button(p.name))
                {
                    PresetManager.loadPAPreset(p);
                }
                else if (GUILayout.Button("x", GUILayout.Width(25)))
                {
                    PresetManager.deletePAPreset(p);
                }
                GUILayout.EndHorizontal();
            }
        }
Пример #10
0
        private void drawStockPreset()
        {
            if (PresetManager.Instance.activeStockSASPreset != null)
            {
                GUILayout.Label(string.Format("Active Preset: {0}", PresetManager.Instance.activeStockSASPreset.name));
                if (PresetManager.Instance.activeStockSASPreset.name != "stock")
                {
                    if (GUILayout.Button("Update Preset"))
                    {
                        PresetManager.updateSASPreset(true);
                    }
                }
                GUILayout.Box("", GUILayout.Height(10), GUILayout.Width(180));
            }

            GUILayout.BeginHorizontal();
            newPresetName = GUILayout.TextField(newPresetName);
            if (GUILayout.Button("+", GUILayout.Width(25)))
            {
                PresetManager.newSASPreset(ref newPresetName);
            }
            GUILayout.EndHorizontal();

            GUILayout.Box("", GUILayout.Height(10), GUILayout.Width(180));

            if (GUILayout.Button("Reset to Defaults"))
            {
                PresetManager.loadStockSASPreset(PresetManager.Instance.craftPresetList["default"].StockPreset);
            }

            GUILayout.Box("", GUILayout.Height(10), GUILayout.Width(180));

            foreach (SASPreset p in PresetManager.Instance.SASPresetList)
            {
                if (!p.bStockSAS)
                {
                    continue;
                }

                GUILayout.BeginHorizontal();
                if (GUILayout.Button(p.name))
                {
                    PresetManager.loadStockSASPreset(p);
                }
                else if (GUILayout.Button("x", GUILayout.Width(25)))
                {
                    PresetManager.deleteSASPreset(p);
                }
                GUILayout.EndHorizontal();
            }
        }
Пример #11
0
        public void OnDestroy()
        {
            SaveConfig();
            if (Toolbar.ToolbarManager.ToolbarAvailable && !bUseStockToolbar)
            {
                ToolbarMod.Instance.OnDestroy();
            }
            BindingManager.Instance.OnDestroy();

            GameEvents.onHideUI.Remove(hideUI);
            GameEvents.onShowUI.Remove(showUI);

            PresetManager.saveToFile();
            instance = null;
        }
Пример #12
0
        // need to wait for Stock SAS to be ready, hence the Coroutine
        IEnumerator Initialise()
        {
            if (FlightData.thisVessel == null)
            {
                FlightData.thisVessel = FlightGlobals.ActiveVessel;
            }

            // wait for SAS to init
            if (FlightData.thisVessel.Autopilot.SAS.pidLockedPitch == null)
            {
                yield return(null);
            }

            bPause[0] = bPause[1] = bPause[2] = false;
            ActivitySwitch(false);

            if (!bInit)
            {
                SASControllers[(int)SASList.Pitch] = new PID_Controller(defaultPitchGains);
                SASControllers[(int)SASList.Roll]  = new PID_Controller(defaultRollGains);
                SASControllers[(int)SASList.Yaw]   = new PID_Controller(defaultYawGains);

                if (!PresetManager.Instance.craftPresetList.ContainsKey("default"))
                {
                    PresetManager.Instance.craftPresetList.Add("default", new CraftPreset("default", null, new SASPreset(SASControllers, "SSAS"), new SASPreset(FlightData.thisVessel.Autopilot.SAS, "stock"), bStockSAS));
                }
                else
                {
                    if (PresetManager.Instance.craftPresetList["default"].SSASPreset == null)
                    {
                        PresetManager.Instance.craftPresetList["default"].SSASPreset = new SASPreset(SASControllers, "SSAS");
                    }
                    if (PresetManager.Instance.craftPresetList["default"].StockPreset == null)
                    {
                        PresetManager.Instance.craftPresetList["default"].StockPreset = new SASPreset(FlightData.thisVessel.Autopilot.SAS, "stock");
                    }
                }
                PresetManager.saveDefaults();

                GeneralUI.InitColors();
                bInit = true;
            }
            PresetManager.loadCraftSSASPreset();
            PresetManager.loadCraftStockPreset();
        }
 public void Start()
 {
     // only ever a single instance of this class created upon reaching the main menu for the first time
     instance = this;
     // make sure that instance is never recovered while loading
     DontDestroyOnLoad(this);
     // load preset data saved from a previous time
     loadPresetsFromFile();
 }
Пример #14
0
        public void Start()
        {
            instance = this;

            loadPresetsFromFile();
            DontDestroyOnLoad(this);
        }