private static Tuple <double, double, double, double> TestLifeSupport(double dayLengthModifier) { var basegameSettings = new BaseGameSettings { DayLengthMultiplier = dayLengthModifier }; var lifesupportSettings = new LifeSupportSettings(); var crewedVessel = new CrewedVehicle(basegameSettings, lifesupportSettings) { NumberOfCrew = 1 }; var lifeSupportSystem = crewedVessel.LifeSupportSystem; lifeSupportSystem.ProvisionsStorage.TotalFoodStored = 1.10; lifeSupportSystem.ProvisionsStorage.TotalWaterStored = 0.73; lifeSupportSystem.ProvisionsStorage.TotalOxygenStored = 111.04; lifeSupportSystem.ProvisionsStorage.TotalElectricityStored = 50; var food = lifeSupportSystem.DaysOfFood; var water = lifeSupportSystem.DaysOfWater; var oxy = lifeSupportSystem.DaysOfOxygen; var elec = lifeSupportSystem.DaysOfElectricity; var eatenPerSecond = crewedVessel.LifeSupportSystem.LifeSupportSettings.FoodPerDay / 21600; var foodTotalTimeSeconds = lifeSupportSystem.ProvisionsStorage.TotalFoodStored / eatenPerSecond; Write(foodTotalTimeSeconds); Write(DeltaVCalculator.CalulateDeltaV(10470, 19357, 312)); return(new Tuple <double, double, double, double>(food, water, oxy, elec)); }
/// <summary> /// Initializes a new instance of the <see cref="LifeSupportSystem" /> class. /// </summary> /// <param name="crewedVehicle">The crewed vehicle.</param> /// <param name="baseGameSettings">The base game settings.</param> /// <param name="lifeSupportSettings">The life support settings.</param> public LifeSupportSystem(ICrewable crewedVehicle, BaseGameSettings baseGameSettings, LifeSupportSettings lifeSupportSettings) { Vehicle = crewedVehicle; LifeSupportSettings = lifeSupportSettings; BaseGameSettings = baseGameSettings; ProvisionsStorage = new ProvisionsStorage(); WasteStorage = new WasteStorage(); LifeSupportCalculator = new LifeSupportCalculator(crewedVehicle); }
public ICrewable GenerateCrewedVehicle(int numberOfKerbals, double dayLengthModifier) { var lifeSettings = new LifeSupportSettings(); var baseSettings = new BaseGameSettings(); var vehicle = new CrewedVehicle(baseSettings, lifeSettings); baseSettings.DayLengthMultiplier = dayLengthModifier; vehicle.NumberOfCrew = numberOfKerbals; return(vehicle); }
public CrewedVehicle(BaseGameSettings baseSettings, LifeSupportSettings supportSettings) : this() { LifeSupportSystem = new LifeSupportSystem(this, baseSettings, supportSettings); }