Tac.VesselInfo.Load C# (CSharp) Method

Load() public static method

public static Load ( ConfigNode node ) : VesselInfo
node ConfigNode
return VesselInfo
        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;
        }

Usage Example

コード例 #1
0
ファイル: GameSettings.cs プロジェクト: t0chas/TacLifeSupport
        public void Load(ConfigNode node)
        {
            if (node.HasNode(configNodeName))
            {
                ConfigNode settingsNode = node.GetNode(configNodeName);

                settingsNode.TryGetValue("IsNewSave", ref IsNewSave);

                knownCrew.Clear();
                var crewNodes = settingsNode.GetNodes(CrewMemberInfo.ConfigNodeName);
                foreach (ConfigNode crewNode in crewNodes)
                {
                    CrewMemberInfo crewMemberInfo = CrewMemberInfo.Load(crewNode);
                    knownCrew[crewMemberInfo.name] = crewMemberInfo;
                }

                knownVessels.Clear();
                var vesselNodes = settingsNode.GetNodes(VesselInfo.ConfigNodeName);
                foreach (ConfigNode vesselNode in vesselNodes)
                {
                    if (vesselNode.HasValue("Guid"))
                    {
                        Guid       id         = new Guid(vesselNode.GetValue("Guid"));
                        VesselInfo vesselInfo = VesselInfo.Load(vesselNode);
                        knownVessels[id] = vesselInfo;
                    }
                }
            }
        }
All Usage Examples Of Tac.VesselInfo::Load