public override void OnUpdate() { float lat = (float)vessel.mainBody.GetLatitude(this.vessel.GetWorldPos3D()); float flux = VanAllen.getBeltAntiparticles(vessel.mainBody.flightGlobalsIndex, (float)vessel.altitude, lat); ParticleFlux = flux.ToString("E"); collectionRate = collection_rate_d.ToString("0.00") + " mg/day"; }
public override void OnFixedUpdate() { drawCount++; float lat = (float)vessel.mainBody.GetLatitude(this.vessel.GetWorldPos3D()); float flux = VanAllen.getBeltAntiparticles(vessel.mainBody.flightGlobalsIndex, (float)vessel.altitude, lat); //part.RequestResource("Antimatter", -flux * TimeWarp.fixedDeltaTime); ORSHelper.fixedRequestResource(part, "Antimatter", -flux * TimeWarp.fixedDeltaTime); last_active_time = (float)Planetarium.GetUniversalTime(); collection_rate_d = flux * 86400; }
public override void OnUpdate() { Events["ActivateMagnetometer"].active = !IsEnabled; Events["DeactivateMagnetometer"].active = IsEnabled; Fields["Bmag"].guiActive = IsEnabled; Fields["Brad"].guiActive = IsEnabled; Fields["Bthe"].guiActive = IsEnabled; Fields["ParticleFlux"].guiActive = IsEnabled; float lat = (float)vessel.mainBody.GetLatitude(this.vessel.GetWorldPos3D()); float Bmagf = VanAllen.getBeltMagneticFieldMag(vessel.mainBody.flightGlobalsIndex, (float)vessel.altitude, lat); float Bradf = VanAllen.getBeltMagneticFieldRadial(vessel.mainBody.flightGlobalsIndex, (float)vessel.altitude, lat); float Bthef = VanAllen.getBeltMagneticFieldAzimuthal(vessel.mainBody.flightGlobalsIndex, (float)vessel.altitude, lat); float flux = VanAllen.getBeltAntiparticles(vessel.mainBody.flightGlobalsIndex, (float)vessel.altitude, lat); Bmag = Bmagf.ToString("E") + "T"; Brad = Bradf.ToString("E") + "T"; Bthe = Bthef.ToString("E") + "T"; ParticleFlux = flux.ToString("E"); }
public override void OnStart(PartModule.StartState state) { if (state == StartState.Editor) { return; } this.part.force_activate(); double now = Planetarium.GetUniversalTime(); double time_diff = now - last_active_time; if (last_active_time != 0 && vessel.orbit.eccentricity < 1) { double lat = vessel.mainBody.GetLatitude(vessel.transform.position); double vessel_avg_alt = (vessel.orbit.ApR + vessel.orbit.PeR) / 2.0f; double vessel_inclination = vessel.orbit.inclination; float flux = (VanAllen.getBeltAntiparticles(vessel.mainBody.flightGlobalsIndex, (float)vessel_avg_alt, (float)vessel_inclination) + VanAllen.getBeltAntiparticles(vessel.mainBody.flightGlobalsIndex, (float)vessel_avg_alt, 0.0f)) / 2.0f; //vessel.orbit. double antimatter_to_add = time_diff * flux; //part.RequestResource("Antimatter", -antimatter_to_add); ORSHelper.fixedRequestResource(part, "Antimatter", -antimatter_to_add); } }