Пример #1
0
 public void OnPreAutopilotUpdate(FlightCtrlState s)
 {
     if (!Valid)
     {
         return;
     }
     //initialize systems
     VSL.PreUpdateState(s);
     State = TCAState.Disabled;
     if (CFG.Enabled)
     {
         State             = TCAState.Enabled;
         localControlState = VesselControlState.None;
         if (!VSL.Info.ElectricChargeAvailible)
         {
             if (VSL.Controls.WarpToTime > 0)
             {
                 VSL.Controls.AbortWarp();
             }
             return;
         }
         localControlState = VesselControlState.ProbePartial;
         SetState(TCAState.HaveEC);
         ClearFrameState();
         //update VSL
         VSL.UpdatePhysics();
         if (VSL.Engines.Check())
         {
             SetState(TCAState.HaveActiveEngines);
         }
         Actions["onActionUpdate"].actionGroup = VSL.Engines.ActionGroups;
         VSL.UpdateCommons();
         VSL.UpdateOnPlanetStats();
         //update modules
         ModulePipeline.ForEach(m => m.OnFixedUpdate());
         VSL.OnModulesUpdated();
     }
 }