public int GetConstantSpeed() { return(propJSB.GetConstantSpeed()); }
public override void OnStart(StartState state) { if (state == StartState.Editor) return; if (vessel == null) return; engine = new EngineWrapper(part); engine.IspMultiplier = IspMultiplier; engine.idle = idle; engine.useVelocityCurve = false; engine.ThrustUpperLimit = maxThrust; engine.useEngineResponseTime = false; part.maxTemp = 200f; engine.heatProduction = 10f; //v0 *= 0.5144f; //omega0 *= 0.1047f; //power0 *= 745.7f; //omega *= 0.1047f; //power *= 745.7f; //propeller = new AJEPropellerSolver(r0, v0 * 0.5144f, omega0 * PistonEngine.RPM2RADPS, rho0, power0 * PistonEngine.HP2W); pistonengine = new PistonEngine(power * PistonEngine.HP2W, maxRPM * PistonEngine.RPM2RADPS, BSFC); pistonengine._hasSuper = boost0 > 0; pistonengine.setBoostParams(wastegateMP * INHG2PA, boost0 * INHG2PA, boost1 * INHG2PA, rated0, rated1, cost1 * PistonEngine.HP2W, switchAlt, turbo); if (displacement > 0) pistonengine._displacement = displacement * PistonEngine.CIN2CM; pistonengine._compression = compression; pistonengine._coolerEffic = coolerEffic; pistonengine._coolerMin = coolerMin + CTOK; pistonengine._ramAir = ramAir; propJSB = new AJEPropJSB(propName, minRPM * gearratio, maxRPM * gearratio, propDiam, propIxx); if(propJSB.GetConstantSpeed() == 0) Fields["propPitch"].guiActive = false; if (exhaustThrust <= 0f) Fields["netExhaustThrust"].guiActive = false; if (meredithEffect <= 0f) Fields["netMeredithEffect"].guiActive = false; pistonengine.ComputeVEMultiplier(); // given newly-set stats omega = 30; // start slow }