public static VesselInfo Load(ConfigNode node)
{
string vesselName = Utilities.GetValue(node, "vesselName", "Unknown");
double lastUpdate = Utilities.GetValue(node, "lastUpdate", 0.0);
Vessel.Situations vesselSituation = Utilities.GetValue(node, "vesselSituation", Vessel.Situations.PRELAUNCH);
VesselType vesselType = Utilities.GetValue(node, "vesselType", VesselType.Unknown);
VesselInfo info = new VesselInfo(vesselName, vesselSituation, vesselType, lastUpdate);
info.vesselIsPreLaunch = Utilities.GetValue(node, "vesselIsPreLaunch", true);
if (info.vesselIsPreLaunch && !(vesselSituation == Vessel.Situations.PRELAUNCH))
{
Logging.LogError("VesselInfo.Load",
"Mismatch between VesselSituation and vesselIsPreLaunch, setting to Prelaunch");
info.vesselIsPreLaunch = true;
info.vesselSituation = Vessel.Situations.PRELAUNCH;
}
info.numCrew = Utilities.GetValue(node, "numCrew", 0);
info.numFrozenCrew = Utilities.GetValue(node, "numFrozenCrew", 0);
info.numOccupiedParts = Utilities.GetValue(node, "numOccupiedParts", 0);
info.lastFood = Utilities.GetValue(node, "lastFood", lastUpdate);
info.lastWater = Utilities.GetValue(node, "lastWater", lastUpdate);
info.lastOxygen = Utilities.GetValue(node, "lastOxygen", lastUpdate);
info.lastElectricity = Utilities.GetValue(node, "lastElectricity", lastUpdate);
info.remainingFood = Utilities.GetValue(node, "remainingFood", 0.0);
info.remainingWater = Utilities.GetValue(node, "remainingWater", 0.0);
info.remainingOxygen = Utilities.GetValue(node, "remainingOxygen", 0.0);
info.remainingElectricity = Utilities.GetValue(node, "remainingElectricity", 0.0);
info.remainingCO2 = Utilities.GetValue(node, "remainingCO2", 0.0);
info.remainingWaste = Utilities.GetValue(node, "remainingWaste", 0.0);
info.remainingWasteWater = Utilities.GetValue(node, "remainingWasteWater", 0.0);
info.maxFood = Utilities.GetValue(node, "maxFood", 0.0);
info.maxWater = Utilities.GetValue(node, "maxWater", 0.0);
info.maxOxygen = Utilities.GetValue(node, "maxOxygen", 0.0);
info.maxElectricity = Utilities.GetValue(node, "maxElectricity", 0.0);
info.estimatedElectricityConsumptionRate = Utilities.GetValue(node, "estimatedElectricityConsumptionRate", 0.0);
info.hibernating = Utilities.GetValue(node, "hibernating", false);
info.recoveryvessel = Utilities.GetValue(node, "recoveryvessel", false);
return info;
}