using Newtonsoft.Json.Linq; namespace EDPlayerJournal.Entries; public class CarrierJump : Entry { public bool Docked { get; set; } = false; public string? StationName { get; set; } = null; public string? StationType { get; set; } = null; public string? StarSystem { get; set; } = null; public ulong SystemAddress { get; set; } = 0; public string? SystemFaction { get; set; } = null; public List<Faction> SystemFactions { get; set; } = new List<Faction>(); protected override void Initialise() { Docked = JSON.Value<bool?>("Docked") ?? false; StarSystem = JSON.Value<string>("StarSystem"); SystemAddress = JSON.Value<ulong?>("SystemAddress") ?? 0; StationName = JSON.Value<string?>("StationName"); StationType = JSON.Value<string?>("StationType"); var faction = JSON.Value<JObject>("SystemFaction"); if (faction != null) { SystemFaction = faction.Value<string>("Name"); } var factions = JSON.Value<JArray>("Factions"); if (factions != null) { foreach (JObject system_faction in factions) { Faction? f = Faction.FromJSON(system_faction); if (f != null) { SystemFactions.Add(f); } } } } }