Ejemplo n.º 1
0
        public StationClass(JObject jo, SystemInfoSource source)
        {
            if (source == SystemInfoSource.EDDB)
            {
                name       = jo["name"].Value <string>();
                SearchName = name.ToLower();

                eddb_id   = jo["id"].Value <int>();
                system_id = jo["system_id"].Value <int>();

                if (jo["max_landing_pad_size"].Type == JTokenType.String)
                {
                    max_landing_pad_size = jo["max_landing_pad_size"].Value <string>();
                }

                if (jo["distance_to_star"].Type == JTokenType.Integer)
                {
                    distance_to_star = jo["distance_to_star"].Value <int>();
                }

                faction = jo["faction"].Value <string>();

                government = EliteDangerous.Government2ID(jo["government"]);
                allegiance = EliteDangerous.Allegiance2ID(jo["allegiance"]);

                state = EliteDangerous.EDState2ID(jo["state"]);

                stationtype = EliteDangerous.EDStationType2ID(jo["type"]);

                if (jo["has_blackmarket"].Type == JTokenType.Integer)
                {
                    has_blackmarket = jo["has_blackmarket"].Value <int>();
                }
                else
                {
                    has_blackmarket = -1;
                }

                if (jo["has_commodities"].Type == JTokenType.Integer)
                {
                    has_commodities = jo["has_commodities"].Value <int>();
                }
                else
                {
                    has_commodities = -1;
                }

                if (jo["has_refuel"].Type == JTokenType.Integer)
                {
                    has_refuel = jo["has_refuel"].Value <int>();
                }
                else
                {
                    has_refuel = -1;
                }

                if (jo["has_repair"].Type == JTokenType.Integer)
                {
                    has_repair = jo["has_repair"].Value <int>();
                }
                else
                {
                    has_repair = -1;
                }

                if (jo["has_rearm"].Type == JTokenType.Integer)
                {
                    has_rearm = jo["has_rearm"].Value <int>();
                }
                else
                {
                    has_rearm = -1;
                }

                if (jo["has_outfitting"].Type == JTokenType.Integer)
                {
                    has_outfitting = jo["has_outfitting"].Value <int>();
                }
                else
                {
                    has_outfitting = -1;
                }

                if (jo["has_shipyard"].Type == JTokenType.Integer)
                {
                    has_shipyard = jo["has_shipyard"].Value <int>();
                }
                else
                {
                    has_shipyard = -1;
                }

                economies              = EliteDangerous.EDEconomies2ID((JArray)jo["economies"]);
                import_commodities     = EliteDangerous.EDCommodities2ID((JArray)jo["import_commodities"]);
                export_commodities     = EliteDangerous.EDCommodities2ID((JArray)jo["export_commodities"]);
                prohibited_commodities = EliteDangerous.EDCommodities2ID((JArray)jo["prohibited_commodities"]);
                eddb_updated_at        = jo["updated_at"].Value <int>();
            }
        }
Ejemplo n.º 2
0
        public SystemClass(JObject jo, SystemInfoSource source)
        {
            if (source == SystemInfoSource.RW)
            {
                try
                {
                    x = jo["x"].Value <double>();
                    y = jo["y"].Value <double>();
                    z = jo["z"].Value <double>();

                    name       = jo["name"].Value <string>();
                    SearchName = name.ToLower();


                    cr     = 1;
                    status = SystemStatusEnum.RedWizzard;
                }
                catch
                {
                }
            }
            else if (source == SystemInfoSource.EDSC)
            {
                JArray ja = (JArray)jo["coord"];

                name       = jo["name"].Value <string>();
                SearchName = name.ToLower();

                cr = jo["cr"].Value <int>();

                if (ja[0].Type == JTokenType.Float || ja[0].Type == JTokenType.Integer)
                {
                    x = ja[0].Value <double>();
                    y = ja[1].Value <double>();
                    z = ja[2].Value <double>();
                }
                else
                {
                    x = double.NaN;
                    y = double.NaN;
                    z = double.NaN;
                }


                CommanderCreate = jo["commandercreate"].Value <string>();
                CreateDate      = jo["createdate"].Value <DateTime>();
                CommanderUpdate = jo["commanderupdate"].Value <string>();
                UpdateDate      = jo["updatedate"].Value <DateTime>();
                status          = SystemStatusEnum.EDSC;
            }
            else if (source == SystemInfoSource.EDSM)
            {
                JObject coords = (JObject)jo["coords"];

                name       = jo["name"].Value <string>();
                SearchName = name.ToLower();

                //cr = jo["cr"].Value<int>();
                x = double.NaN;
                y = double.NaN;
                z = double.NaN;


                if (coords != null && (coords["x"].Type == JTokenType.Float || coords["x"].Type == JTokenType.Integer))
                {
                    x = coords["x"].Value <double>();
                    y = coords["y"].Value <double>();
                    z = coords["z"].Value <double>();
                }
                JArray submitted = (JArray)jo["submitted"];

                if (submitted != null && submitted.Count > 0)
                {
                    if (submitted[0]["cmdrname"] != null)
                    {
                        CommanderCreate = submitted[0]["cmdrname"].Value <string>();
                    }
                    CreateDate = submitted[0]["date"].Value <DateTime>();

                    if (submitted[submitted.Count - 1]["cmdrname"] != null)
                    {
                        CommanderUpdate = submitted[submitted.Count - 1]["cmdrname"].Value <string>();
                    }
                    UpdateDate = submitted[submitted.Count - 1]["date"].Value <DateTime>();
                }

                UpdateDate = jo["date"].Value <DateTime>();
                if (CreateDate.Year <= 1)
                {
                    CreateDate = UpdateDate;
                }


                status = SystemStatusEnum.EDSC;
            }
            else if (source == SystemInfoSource.EDDB)
            {
                name       = jo["name"].Value <string>();
                SearchName = name.ToLower();

                cr = 1;

                x = jo["x"].Value <double>();
                y = jo["y"].Value <double>();
                z = jo["z"].Value <double>();

                id_eddb = jo["id"].Value <int>();

                /*CommanderCreate = jo["commandercreate"].Value<string>();
                 * CreateDate = jo["createdate"].Value<DateTime>();
                 * CommanderUpdate = jo["commanderupdate"].Value<string>();
                 * UpdateDate = jo["updatedate"].Value<DateTime>();*/

                faction = jo["faction"].Value <string>();

                if (jo["population"].Type == JTokenType.Integer)
                {
                    population = jo["population"].Value <long>();
                }


                government = EliteDangerous.Government2ID(jo["government"]);
                allegiance = EliteDangerous.Allegiance2ID(jo["allegiance"]);

                state    = EliteDangerous.EDState2ID(jo["state"]);
                security = EliteDangerous.EDSecurity2ID(jo["security"]);



                primary_economy = EliteDangerous.EDEconomy2ID(jo["primary_economy"]);


                if (jo["needs_permit"].Type == JTokenType.Integer)
                {
                    needs_permit = jo["needs_permit"].Value <int>();
                }

                eddb_updated_at = jo["updated_at"].Value <int>();

                status = SystemStatusEnum.EDDB;
            }
        }