Пример #1
0
        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);
 }
Пример #3
0
        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);
        }
Пример #4
0
 public CrewedVehicle(BaseGameSettings baseSettings, LifeSupportSettings supportSettings) : this()
 {
     LifeSupportSystem = new LifeSupportSystem(this, baseSettings, supportSettings);
 }