Ejemplo n.º 1
0
        public static List<ORSX_OceanicResource> getOceanicCompositionForBody(int refBody)
        {
            List<ORSX_OceanicResource> bodyOceanicComposition = new List<ORSX_OceanicResource>();
            try
            {
                if (body_oceanic_resource_list.ContainsKey(refBody))
                {
                    return body_oceanic_resource_list[refBody];
                }
                else
                {
                    ConfigNode[] bodyOceanicResourceList = GameDatabase.Instance.GetConfigNodes("ORSX_OCEANIC_RESOURCE").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");
                        ORSX_OceanicResource bodyOceanicResource = new ORSX_OceanicResource(resourcename, resourceabundance, displayname);
                        bodyOceanicComposition.Add(bodyOceanicResource);
                    }
                    if (bodyOceanicComposition.Count > 1)
                    {
                        bodyOceanicComposition = bodyOceanicComposition.OrderByDescending(bacd => bacd.getResourceAbundance()).ToList();
                    }
                }
            }
            catch (Exception ex)
            {

            }
            return bodyOceanicComposition;
        }
Ejemplo n.º 2
0
        public static List <ORSX_OceanicResource> getOceanicCompositionForBody(int refBody)
        {
            List <ORSX_OceanicResource> bodyOceanicComposition = new List <ORSX_OceanicResource>();

            try
            {
                if (body_oceanic_resource_list.ContainsKey(refBody))
                {
                    return(body_oceanic_resource_list[refBody]);
                }
                else
                {
                    ConfigNode[] bodyOceanicResourceList = GameDatabase.Instance.GetConfigNodes("ORSX_OCEANIC_RESOURCE").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");
                        ORSX_OceanicResource bodyOceanicResource = new ORSX_OceanicResource(resourcename, resourceabundance, displayname);
                        bodyOceanicComposition.Add(bodyOceanicResource);
                    }
                    if (bodyOceanicComposition.Count > 1)
                    {
                        bodyOceanicComposition = bodyOceanicComposition.OrderByDescending(bacd => bacd.getResourceAbundance()).ToList();
                    }
                }
            }
            catch (Exception ex)
            {
            }
            return(bodyOceanicComposition);
        }