Journals Now processed in own thread

Some invalid journal data is now handled
Journals now use polymorphic deserialization
Added Event names to all journal events
Remove unused controllers
This commit is contained in:
Ben Parsons 2024-05-24 17:57:10 +10:00
commit efd0b3e0c0
55 changed files with 826 additions and 208 deletions

View file

@ -2,5 +2,6 @@
public class BuyAmmo : JournalBase
{
public override string Event => "BuyAmmo";
public int Cost { get; init; }
}

View file

@ -2,6 +2,7 @@
public class BuyDrones : JournalBase
{
public override string Event => "BuyDrones";
public string Type { get; init; }
public int Count { get; init; }
public uint BuyPrice { get; init; }

View file

@ -5,6 +5,7 @@ namespace Observatory.Framework.Files.Journal.StationServices;
public class CargoDepot : JournalBase
{
public override string Event => "CargoDepot";
public ulong MissionID { get; init; }
[JsonConverter(typeof(JsonStringEnumConverter))]
public UpdateType UpdateType { get; init; }

View file

@ -2,6 +2,7 @@
public class ClearImpound : JournalBase
{
public override string Event => "ClearImpound";
public string ShipType { get; init; }
public string ShipType_Localised { get; init; }
public ulong ShipID { get; init; }

View file

@ -5,5 +5,6 @@ namespace Observatory.Framework.Files.Journal.StationServices;
public class CommunityGoal : JournalBase
{
public override string Event => "CommunityGoal";
public ImmutableList<CurrentGoal> CurrentGoals { get; init; }
}

View file

@ -2,6 +2,7 @@
public class CommunityGoalDiscard : JournalBase
{
public override string Event => "CommunityGoalDiscard";
public ulong CGID { get; init; }
public string Name { get; init; }
public string System { get; init; }

View file

@ -2,4 +2,5 @@
public class CommunityGoalJoin : CommunityGoalDiscard
{
public override string Event => "CommunityGoalJoin";
}

View file

@ -2,5 +2,6 @@
public class CommunityGoalReward : CommunityGoalDiscard
{
public override string Event => "CommunityGoalReward";
public long Reward { get; init; }
}

View file

@ -2,5 +2,6 @@
public class CrewAssign : CrewFire
{
public override string Event => "CrewAssign";
public string Role { get; init; }
}

View file

@ -2,6 +2,7 @@
public class CrewFire : JournalBase
{
public override string Event => "CrewFire";
public string Name { get; init; }
public ulong CrewID { get; init; }
}

View file

@ -2,6 +2,7 @@
public class CrewHire : CrewFire
{
public override string Event => "CrewHire";
public string Faction { get; init; }
public long Cost { get; init; }
public int CombatRank { get; init; }

View file

@ -3,6 +3,7 @@
[Obsolete("This event was removed in Elite Dangerous 3.0 and will only appear in legacy data.")]
public class EngineerApply : JournalBase
{
public override string Event => "EngineerApply";
public string Engineer { get; init; }
public string Blueprint { get; init; }
public int Level { get; init; }

View file

@ -5,6 +5,7 @@ namespace Observatory.Framework.Files.Journal.StationServices;
public class EngineerContribution : JournalBase
{
public override string Event => "EngineerContribution";
public string Engineer { get; init; }
public ulong EngineerID { get; init; }
[JsonConverter(typeof(JsonStringEnumConverter))]

View file

@ -7,6 +7,7 @@ namespace Observatory.Framework.Files.Journal.StationServices;
public class EngineerCraft : JournalBase
{
public override string Event => "EngineerCraft";
public string Engineer { get; init; }
public ulong EngineerID { get; init; }
public string Blueprint { get; init; }

View file

@ -2,5 +2,6 @@
public class EngineerLegacyConvert : EngineerCraft
{
public override string Event => "EngineerLegacyConvert";
public bool IsPreview { get; init; }
}

View file

@ -6,11 +6,14 @@ namespace Observatory.Framework.Files.Journal.StationServices;
public class EngineerProgress : JournalBase
{
public override string Event => "EngineerProgress";
public string Engineer { get; init; }
public ulong EngineerID { get; init; }
public int Rank { get; init; }
public int RankProgress { get; init; }
[JsonConverter(typeof(JsonStringEnumConverter))]
public ParameterTypes.Progress Progress { get; init; }
public Progress Progress { get; init; }
public ImmutableList<EngineerType> Engineers { get; init; }
}

View file

@ -2,6 +2,7 @@
public class FetchRemoteModule : JournalBase
{
public override string Event => "FetchRemoteModule";
public ulong ShipID { get; init; }
public int StorageSlot { get; init; }
public string StoredItem { get; init; }

View file

@ -3,9 +3,9 @@ using Observatory.Framework.Files.ParameterTypes;
namespace Observatory.Framework.Files.Journal.StationServices;
// TODO: Read market.json file - Will only be valid for most recent market event
public class Market : JournalBase
{
public override string Event => "Market";
public ulong MarketID { get; init; }
/// <summary>
/// Name of the station at which this event occurred.

View file

@ -5,6 +5,7 @@ namespace Observatory.Framework.Files.Journal.StationServices;
public class MassModuleStore : JournalBase
{
public override string Event => "MassModuleStore";
public ulong MarketID { get; init; }
public string Ship { get; init; }
public ulong ShipID { get; init; }

View file

@ -4,6 +4,7 @@ namespace Observatory.Framework.Files.Journal.StationServices;
public class MaterialTrade : JournalBase
{
public override string Event => "MaterialTrade";
public ulong MarketID { get; init; }
public string TraderType { get; init; }
public TradeDetail Paid { get; init; }

Some files were not shown because too many files have changed in this diff Show more