override internal void shutdown() { log.prefix = "[Landertron:" + part.flightID + "] "; log.debug("Shutting down engines"); throttle = 0.0f; vessel.OnFlyByWire += setThrottle; foreach (var engine in engines) { if (engine.throttleLocked) { engine.Shutdown(); } } double alt = new SoftLandingHandler(vessel).calculateDistanceToGround(vessel, this.engineThrust.normalized); if ((mode == Mode.SoftLanding) && (!vessel.LandedOrSplashed)) { if (alt * vessel.mainBody.GeeASL * 9.81 * 2 + vessel.srf_velocity.sqrMagnitude > 9) // Landing speed of 3 m/s. { status = Status.Armed; } else { status = Status.Idle; } } else { status = Status.Idle; } }
public void FixedUpdate() { SoftLandingHandler softLandingHandler = new SoftLandingHandler(vessel); ShortLandingHandler shortLandingHandler = new ShortLandingHandler(vessel); StayPutHandler stayPutHandler = new StayPutHandler(vessel); foreach (var landertron in vessel.FindPartModulesImplementing <Landertron>()) { switch (landertron.mode) { case Landertron.Mode.SoftLanding: softLandingHandler.addLandertron(landertron); break; case Landertron.Mode.ShortLanding: shortLandingHandler.addLandertron(landertron); break; case Landertron.Mode.StayPut: stayPutHandler.addLandertron(landertron); break; } } softLandingHandler.execute(); shortLandingHandler.execute(); stayPutHandler.execute(); }
public void FixedUpdate() { SoftLandingHandler softLandingHandler = new SoftLandingHandler(vessel); ShortLandingHandler shortLandingHandler = new ShortLandingHandler(vessel); StayPutHandler stayPutHandler = new StayPutHandler(vessel); foreach (var landertron in vessel.FindPartModulesImplementing<Landertron>()) { switch (landertron.mode) { case Landertron.Mode.SoftLanding: softLandingHandler.addLandertron(landertron); break; case Landertron.Mode.ShortLanding: shortLandingHandler.addLandertron(landertron); break; case Landertron.Mode.StayPut: stayPutHandler.addLandertron(landertron); break; } } softLandingHandler.execute(); shortLandingHandler.execute(); stayPutHandler.execute(); }
internal override void shutdown() { log.prefix = "[Landertron:" + part.flightID + "] "; log.debug("Shutting down engines"); throttle = 0.0f; vessel.OnFlyByWire += setThrottle; foreach (var engine in engines) { if (engine.throttleLocked) { engine.Shutdown (); } } double alt = new SoftLandingHandler (vessel).calculateDistanceToGround (vessel, this.engineThrust.normalized); if ((mode == Mode.SoftLanding) && (!vessel.LandedOrSplashed)) { if (alt * vessel.mainBody.GeeASL * 9.81 * 2 > Math.Sqrt(8)) { status = Status.Armed; } else { status = Status.Idle; } } else { status = Status.Idle; } }