public static List <ORSOceanicResource> getOceanicCompositionForBody(int refBody) { List <ORSOceanicResource> bodyOceanicComposition = new List <ORSOceanicResource>(); try { if (body_oceanic_resource_list.ContainsKey(refBody)) { return(body_oceanic_resource_list[refBody]); } else { ConfigNode[] bodyOceanicResourceList = GameDatabase.Instance.GetConfigNodes("OCEANIC_RESOURCE_DEFINITION").Where(res => res.GetValue("celestialBodyName") == FlightGlobals.Bodies[refBody].name).ToArray(); foreach (ConfigNode bodyOceanicConfig in bodyOceanicResourceList) { string resourcename = null; if (bodyOceanicConfig.HasValue("resourceName")) { resourcename = bodyOceanicConfig.GetValue("resourceName"); } double resourceabundance = double.Parse(bodyOceanicConfig.GetValue("abundance")); string displayname = bodyOceanicConfig.GetValue("guiName"); ORSOceanicResource bodyOceanicResource = new ORSOceanicResource(resourcename, resourceabundance, displayname); bodyOceanicComposition.Add(bodyOceanicResource); } if (bodyOceanicComposition.Count > 1) { bodyOceanicComposition = bodyOceanicComposition.OrderByDescending(bacd => bacd.getResourceAbundance()).ToList(); } } } catch (Exception ex) { } return(bodyOceanicComposition); }
public static double getOceanicResourceContent(int refBody, string resourcename) { List <ORSOceanicResource> bodyOceanicComposition = getOceanicCompositionForBody(refBody); ORSOceanicResource resource = bodyOceanicComposition.FirstOrDefault(oor => oor.getResourceName() == resourcename); return(resource != null?resource.getResourceAbundance() : 0); }
public static List<ORSOceanicResource> getOceanicCompositionForBody(int refBody) { List<ORSOceanicResource> bodyOceanicComposition = new List<ORSOceanicResource>(); try { if (body_oceanic_resource_list.ContainsKey(refBody)) { return body_oceanic_resource_list[refBody]; } else { ConfigNode[] bodyOceanicResourceList = GameDatabase.Instance.GetConfigNodes("OCEANIC_RESOURCE_DEFINITION").Where(res => res.GetValue("celestialBodyName") == FlightGlobals.Bodies[refBody].name).ToArray(); foreach (ConfigNode bodyOceanicConfig in bodyOceanicResourceList) { string resourcename = null; if (bodyOceanicConfig.HasValue("resourceName")) { resourcename = bodyOceanicConfig.GetValue("resourceName"); } double resourceabundance = double.Parse(bodyOceanicConfig.GetValue("abundance")); string displayname = bodyOceanicConfig.GetValue("guiName"); ORSOceanicResource bodyOceanicResource = new ORSOceanicResource(resourcename, resourceabundance, displayname); bodyOceanicComposition.Add(bodyOceanicResource); } if (bodyOceanicComposition.Count > 1) { bodyOceanicComposition = bodyOceanicComposition.OrderByDescending(bacd => bacd.getResourceAbundance()).ToList(); } } } catch (Exception ex) { } return bodyOceanicComposition; }