public TurbopumpCalculator(BiPropellantConfig config, EngineCalculatorBase engineCalc) { this.engineCalc = engineCalc; this.biPropConfig = config; fuelAux = PropellantMixtureLibrary.AuxPropellantProperties[config.Fuel]; oxAux = PropellantMixtureLibrary.AuxPropellantProperties[config.Oxidizer]; if ((object)pumpEffFromSpecificSpeed == null) { LoadEfficiencyCurves(); } if (turbopumpArrangementSelector == null) { string[] turbopumpString = new string[] { "Direct Drive", "Gear Reduction", "Two Turbine" }; TurbopumpArrangementEnum[] turbopumpEnums = new TurbopumpArrangementEnum[] { TurbopumpArrangementEnum.DIRECT_DRIVE, TurbopumpArrangementEnum.GEAR_REDUCTION, TurbopumpArrangementEnum.TWO_TURBINE }; turbopumpArrangementSelector = new GUIDropDown <TurbopumpArrangementEnum>(turbopumpString, turbopumpEnums); } }
public void UpdateTurbopumpArrangement(TurbopumpArrangementEnum newArranagement, int oxPumpStages, int fuelPumpStages) { bool unchanged = true; unchanged &= newArranagement == turbopumpArrangement; unchanged &= this.oxPumpStages == oxPumpStages; unchanged &= this.fuelPumpStages == fuelPumpStages; if (!unchanged) { turbopumpArrangement = newArranagement; this.oxPumpStages = oxPumpStages; this.fuelPumpStages = fuelPumpStages; engineCalc.CalculateEngineProperties(); } }