using EDPlayerJournal.Entries; namespace EDPlayerJournal.BGS.Parsers; internal class CarrierJumpParser : ITransactionParserPart { public void Parse(Entry entry, TransactionParserContext context, TransactionParserOptions options, TransactionList transactions) { CarrierJump? jump = entry as CarrierJump; if (jump == null) { return; } if (!jump.Docked) { return; } context.CurrentSystem = jump.StarSystem; context.CurrentSystemAddress = jump.SystemAddress; context.SystemsByID.TryAdd(jump.SystemAddress, jump.StarSystem); if (!string.IsNullOrEmpty(jump.SystemFaction)) { context.ControllingFaction = jump.SystemFaction; } if (jump.SystemFactions != null && jump.SystemFactions.Count > 0) { context.SystemFactions[jump.StarSystem] = jump.SystemFactions; } } }