Exemple #1
0
        public JournalCarrierJump(JObject evt) : base(evt, JournalTypeEnum.CarrierJump)
        {
            // base class does StarSystem/StarPos/Faction/Powerplay

            Docked         = evt.Value <bool?>("Docked") ?? false;
            StationName    = evt["StationName"].Str();
            StationType    = evt["StationType"].Str().SplitCapsWord();
            Body           = evt["Body"].Str();
            BodyID         = evt["BodyID"].IntNull();
            BodyType       = JournalFieldNaming.NormaliseBodyType(evt["BodyType"].Str());
            DistFromStarLS = evt["DistFromStarLS"].DoubleNull();

            Latitude  = evt["Latitude"].DoubleNull();
            Longitude = evt["Longitude"].DoubleNull();

            MarketID = evt["MarketID"].LongNull();

            // station data only if docked..

            JToken jk = (JToken)evt["StationFaction"];  // 3.3.3 post

            if (jk != null && jk.Type == JTokenType.Object)
            {
                JObject jo = jk as JObject;
                StationFaction      = jk["Name"].Str();           // system faction pick up
                StationFactionState = jk["FactionState"].Str();
            }

            StationGovernment           = evt["StationGovernment"].Str();           // 3.3.2 empty before
            StationGovernment_Localised = evt["StationGovernment_Localised"].Str(); // 3.3.2 empty before
            StationAllegiance           = evt["StationAllegiance"].Str();           // 3.3.2 empty before
                                                                                    // tbd bug in journal over FactionState - its repeated twice..
            StationServices    = evt["StationServices"]?.ToObjectProtected <string[]>();
            StationEconomyList = evt["StationEconomies"]?.ToObjectProtected <JournalDocked.Economies[]>();

            JToken jm = evt["EDDMapColor"];

            MapColor = jm.Int(EDCommander.Current.MapColour);
            if (jm.Empty())
            {
                evt["EDDMapColor"] = EDCommander.Current.MapColour;      // new entries get this default map colour if its not already there
            }
        }
        public JournalFSDJump(JObject evt) : base(evt, JournalTypeEnum.FSDJump)
        {
            // base class does StarSystem/StarPos/Faction/Powerplay

            JumpDist   = evt["JumpDist"].Double();
            FuelUsed   = evt["FuelUsed"].Double();
            FuelLevel  = evt["FuelLevel"].Double();
            BoostUsed  = evt["BoostUsed"].Bool();
            BoostValue = evt["BoostUsed"].Int();
            Body       = evt["Body"].StrNull();
            BodyID     = evt["BodyID"].IntNull();
            BodyType   = JournalFieldNaming.NormaliseBodyType(evt["BodyType"].Str());

            JToken jm = evt["EDDMapColor"];

            MapColor = jm.Int(EDCommander.Current.MapColour);
            if (jm.IsNull())
            {
                evt["EDDMapColor"] = EDCommander.Current.MapColour;      // new entries get this default map colour if its not already there
            }
            EDSMFirstDiscover = evt["EDD_EDSMFirstDiscover"].Bool(false);
        }
        public JournalLocation(JObject evt) : base(evt, JournalTypeEnum.Location)      // all have evidence 16/3/2017
        {
            // base class does StarSystem/StarPos/Faction/Powerplay

            Docked         = evt["Docked"].Bool();
            StationName    = evt["StationName"].Str();
            StationType    = evt["StationType"].Str().SplitCapsWord();
            Body           = evt["Body"].Str();
            BodyID         = evt["BodyID"].IntNull();
            BodyType       = JournalFieldNaming.NormaliseBodyType(evt["BodyType"].Str());
            DistFromStarLS = evt["DistFromStarLS"].DoubleNull();

            Latitude  = evt["Latitude"].DoubleNull();
            Longitude = evt["Longitude"].DoubleNull();

            MarketID = evt["MarketID"].LongNull();

            // station data only if docked..

            JObject jk = evt["StationFaction"].Object();  // 3.3.3 post

            if (jk != null)
            {
                StationFaction      = jk["Name"].Str();           // system faction pick up
                StationFactionState = jk["FactionState"].Str();
            }

            StationGovernment           = evt["StationGovernment"].Str();           // 3.3.2 empty before
            StationGovernment_Localised = evt["StationGovernment_Localised"].Str(); // 3.3.2 empty before
            StationAllegiance           = evt["StationAllegiance"].Str();           // 3.3.2 empty before
                                                                                    // tbd bug in journal over FactionState - its repeated twice..
            StationServices    = evt["StationServices"]?.ToObjectQ <string[]>();
            StationEconomyList = evt["StationEconomies"]?.ToObjectQ <JournalDocked.Economies[]>();

            Taxi      = evt["Taxi"].BoolNull();
            Multicrew = evt["Multicrew"].BoolNull();
            InSRV     = evt["InSRV"].BoolNull();
            OnFoot    = evt["OnFoot"].BoolNull();
        }
        public JournalFSDJump(JObject evt) : base(evt, JournalTypeEnum.FSDJump)
        {
            RealJournalEvent = evt["FuelUsed"].Empty(); // Old pre ED 2.2 messages has no Fuel used fields

            // base class does StarSystem/StarPos/Faction/Powerplay

            JumpDist   = evt["JumpDist"].Double();
            FuelUsed   = evt["FuelUsed"].Double();
            FuelLevel  = evt["FuelLevel"].Double();
            BoostUsed  = evt["BoostUsed"].Bool();
            BoostValue = evt["BoostUsed"].Int();
            Body       = evt["Body"].StrNull();
            BodyID     = evt["BodyID"].IntNull();
            BodyType   = JournalFieldNaming.NormaliseBodyType(evt["BodyType"].Str());

            JToken jm = evt["EDDMapColor"];

            MapColor = jm.Int(EliteDangerousCore.EliteConfigInstance.InstanceConfig.DefaultMapColour);
            if (jm.Empty())
            {
                evt["EDDMapColor"] = EliteDangerousCore.EliteConfigInstance.InstanceConfig.DefaultMapColour;      // new entries get this default map colour if its not already there
            }
            EDSMFirstDiscover = evt["EDD_EDSMFirstDiscover"].Bool(false);
        }