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(); } } }
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(); } } }