// Vehicle Families internal static List <VehicleFamily> LoadConfigurations() { LoadRootNode(); List <VehicleFamily> allFamilies = new List <VehicleFamily>(); try { if (rootNode != null && rootNode.HasNode(node_families)) { foreach (var familyNode in rootNode.GetNode(node_families).GetNodes(node_family)) { VehicleFamily g = new VehicleFamily(familyNode.GetValue(key_familyName)); foreach (var vehicleNode in familyNode.GetNodes(node_vehicle)) { string subId = vehicleNode.GetValue(key_subName); string vName = vehicleNode.GetValue(key_vehicleName); double vMass = double.Parse(vehicleNode.GetValue(key_vehicleMass)); string vNote = vehicleNode.GetValue(key_vehicleNote); Vehicle v = new Vehicle(subId, vName, vMass, vNote); foreach (var launchConfigNode in vehicleNode.GetNodes(node_launchConfig)) { Destination dest = KLVCore.GetDestination(int.Parse(launchConfigNode.GetValue(node_destination))); if (dest != null) { double payMass = double.Parse(launchConfigNode.GetValue(key_payloadMass)); v.AddLaunchConfig(payMass, dest); } } g.AddVehicle(v); } allFamilies.Add(g); } } } catch (ArgumentNullException) { Debug.Log("[Kerbal Launch Vehicles] Failed to load Launch configs"); } return(allFamilies); }
internal void SetParent(VehicleFamily _parent) { Parent = _parent; }