public static void checkAllFuelFlow()
        {
            if (toggles == null)
            {
                return;
            }

            for (int i = toggles.Count - 1; i >= 0; i--)
            {
                ModuleEngineGimbal meg = toggles[i];

                if (meg != null)
                {
                    meg.engineFlow = 0;

                    if (meg.engineModuleList != null)
                    {
                        for (int j = meg.engineModuleList.Count - 1; j >= 0; j--)
                        {
                            meg.engineFlow = Math.Max(meg.engineFlow, meg.engineModuleList[j].fuelFlowGui);
                        }
                    }
                    if (meg.engineFxModuleList != null)
                    {
                        for (int j = meg.engineFxModuleList.Count - 1; j >= 0; j--)
                        {
                            meg.engineFlow = Math.Max(meg.engineFlow, meg.engineFxModuleList[j].fuelFlowGui);
                        }
                    }
                    meg.setGimbal(meg.engineFlow > 0.000001f);
                }
            }
        }
        public void enableControlSurfaces(KSPActionParam param)
        {
            if (toggles == null)
            {
                Start();
            }

            ModuleEngineGimbal.EnableGlobal();
            globalStatus = GlobalStatus.enabled;
        }
 public void EventEnableAll()
 {
     if (toggles == null)
     {
         Debug.Log("ERROR: ModuleEngineGimbal.EventEnableAll, toggles is null");
         Start();
     }
     ModuleEngineGimbal.EnableGlobal();
     globalStatus = GlobalStatus.enabled;
 }
        public static void EnableGlobal()
        {
            //Debug.Log("Enableglobal");
            if (toggles == null)
            {
                Debug.Log("ERROR: ModuleEngineGimbal.EnableGlobal toggles is null");
                return;
            }
            ;
            for (int i = toggles.Count - 1; i >= 0; i--)
            {
                ModuleEngineGimbal meg = toggles[i];

                if (meg != null && !meg.activeFlag)
                {
                    meg.setGimbal(true);
                }
            }
        }
        public static void enableGlobal(bool printMessage)
        {
            if (toggles == null) //List not initialized because we don't have any engines, and haven't launched a vessel with engines
            {
                return;
            }

            if (printMessage)
            {
                ScreenMessages.PostScreenMessage("Enabled all Engine Gimbaling");
            }

            for (int i = toggles.Count - 1; i >= 0; i--)
            {
                ModuleEngineGimbal meg = toggles[i];
                if (meg != null)
                {
                    meg.setGimbal(true);
                }
            }
        }
        IEnumerator SlowUpdate()
        {
            while (true)
            {
                yield return(new WaitForSeconds(0.25f));

                //Debug.Log("EngineGimbalController.SlowUpdate, globalStatus: " + ModuleEngineGimbal.globalStatus);
                if (ModuleEngineGimbal.globalStatus == ModuleEngineGimbal.GlobalStatus.none)
                {
#if false
                    if (FlightInputHandler.state.mainThrottle == 0)
                    {
                        //Debug.Log("mainThrottle == 0");
                        ModuleEngineGimbal.DisableGlobal(false);
                    }
                    else
#endif
                    {
                        ModuleEngineGimbal.checkAllFuelFlow();
                    }
                }
            }
        }
        public static void DisableGlobal(bool printMessage)
        {
            if (toggles == null)
            {
                Debug.Log("ERROR: ModuleEngineGimbal.disableGlobal, toggles is null");
                return;
            }

            if (printMessage)
            {
                ScreenMessages.PostScreenMessage("Disabled all Engine Gimbaling");
            }

            for (int i = toggles.Count - 1; i >= 0; i--)
            {
                ModuleEngineGimbal meg = toggles[i];

                if (meg != null && meg.activeFlag)
                {
                    meg.setGimbal(false);
                }
            }
        }
 public void disableControlSurfaces(KSPActionParam param)
 {
     ModuleEngineGimbal.DisableGlobal(false);
     globalStatus = GlobalStatus.disabled;
 }