Exemplo n.º 1
0
 public override void OnUpdate()
 {
     Events ["reviewEvent"].active = storedData.Count > 0;
     Events ["EVACollect"].active  = storedData.Count > 0;
     Events ["startScan"].active   = !scanning;
     Events ["stopScan"].active    = scanning;
     if (scanning)
     {
         if (sensorType == 0 || SCANcontroller.controller.isVesselKnown(vessel.id, (SCANdata.SCANtype)sensorType))
         {
             if (TimeWarp.CurrentRate < 1500)
             {
                 float p = power * TimeWarp.deltaTime;
                 float e = part.RequestResource("ElectricCharge", p);
                 if (e < p)
                 {
                     unregisterScanner();
                     powerIsProblem = true;
                 }
                 else
                 {
                     registerScanner();
                     powerIsProblem = false;
                 }
             }
             else if (powerIsProblem)
             {
                 registerScanner();
                 powerIsProblem = false;
             }
         }
         else
         {
             unregisterScanner();
         }
     }
     SCANcontroller.controller.scanFromAllVessels();
     if (vessel == FlightGlobals.ActiveVessel)
     {
         SCANui.gui_ping(powerIsProblem);
         if (powerIsProblem)
         {
             addStatic();
             registerScanner();
         }
         else if (sensorType == 0 && scanning)
         {
             SCANui.gui_ping_maptraq();
         }
     }
 }
Exemplo n.º 2
0
 public override void OnUpdate()
 {
     if (sensorType < 0)
     {
         Events["startScan"].active  = false;
         Events["stopScan"].active   = false;
         Events["analyze"].active    = false;
         Events["explode"].active    = true;
         Events["explode"].guiActive = true;
         return;
     }
     if (!initialized)
     {
         if (sensorType == 0)
         {
             Events["startScan"].guiName         = "Open Map";
             Events["stopScan"].guiName          = "Close Map";
             Actions["startScanAction"].guiName  = "Open Map";
             Actions["stopScanAction"].guiName   = "Close Map";
             Actions["toggleScanAction"].guiName = "Toggle Map";
         }
         else if (scanName != null)
         {
             Events["startScan"].guiName         = "Start " + scanName;
             Events["stopScan"].guiName          = "Stop " + scanName;
             Actions["startScanAction"].guiName  = "Start " + scanName;
             Actions["stopScanAction"].guiName   = "Stop " + scanName;
             Actions["toggleScanAction"].guiName = "Toggle " + scanName;
         }
         if (scanning)
         {
             startScan();
         }
         initialized = true;
     }
     Events["startScan"].active = !scanning;
     Events["stopScan"].active  = scanning;
     Events["analyze"].active   = scanning;
     if (scanning && sensorType >= 0)
     {
         if (sensorType == 0 || SCANcontroller.controller.isVesselKnown(vessel.id, (SCANdata.SCANtype)sensorType))
         {
             if (TimeWarp.CurrentRate < 1500)                      // would need large buffer batteries, just not very smooth
             {
                 float p = power * TimeWarp.deltaTime;
                 float e = part.RequestResource("ElectricCharge", p);
                 if (e < p)
                 {
                     stopScan();
                     powerIsProblem = true;
                 }
                 else
                 {
                     startScan();
                     powerIsProblem = false;
                 }
             }
             else if (powerIsProblem)
             {
                 startScan();
                 powerIsProblem = false;
             }
         }
         else
         {
             stopScan();
         }
     }
     SCANcontroller.controller.scanFromAllVessels();
     if (vessel == FlightGlobals.ActiveVessel)
     {
         SCANui.gui_ping(powerIsProblem);
         if (powerIsProblem)
         {
             addStatic();
             startScan();
         }
         else if (sensorType == 0 && scanning)
         {
             SCANui.gui_ping_maptraq();
         }
     }
 }