public void Update()
{
OnFrameUpdate.Invoke();
if (FlightGlobals.ActiveVessel == null || FlightGlobals.ActiveVessel.packed) return;
var vs = Satellites[FlightGlobals.ActiveVessel];
if (vs != null)
{
GetLocks();
if (vs.HasLocalControl)
{
ReleaseLocks();
}
else if (vs.FlightComputer != null && vs.FlightComputer.InputAllowed)
{
foreach (KSPActionGroup ag in GetActivatedGroup())
{
vs.FlightComputer.Enqueue(ActionGroupCommand.WithGroup(ag));
}
}
}
else
{
ReleaseLocks();
}
}