2
0
mirror of https://github.com/9ParsonsB/Pulsar.git synced 2025-07-01 08:23:42 -04:00

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:
2024-05-24 17:57:10 +10:00
parent ae848e036d
commit efd0b3e0c0
297 changed files with 827 additions and 209 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; }

View File

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

View File

@ -7,6 +7,7 @@ namespace Observatory.Framework.Files.Journal.StationServices;
public class MissionAccepted : JournalBase
{
public override string Event => "MissionAccepted";
public string Name { get; init; }
public string LocalisedName { get; init; }
public string Faction { get; init; }

View File

@ -7,6 +7,7 @@ namespace Observatory.Framework.Files.Journal.StationServices;
public class MissionCompleted : JournalBase
{
public override string Event => "MissionCompleted";
public string Name { get; init; }
public string LocalisedName { get; init; }
public string Faction { get; init; }

View File

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

View File

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

View File

@ -2,6 +2,7 @@
public class ModuleBuy : JournalBase
{
public override string Event => "ModuleBuy";
public ulong MarketID { get; init; }
public string Slot { get; init; }
public string BuyItem { get; init; }

View File

@ -2,6 +2,7 @@
public class ModuleRetrieve : JournalBase
{
public override string Event => "ModuleRetrieve";
public ulong MarketID { get; init; }
public string Slot { get; init; }
public string Ship { get; init; }

View File

@ -2,6 +2,7 @@
public class ModuleSell : JournalBase
{
public override string Event => "ModuleSell";
public ulong MarketID { get; init; }
public string Slot { get; init; }
public string SellItem { get; init; }

View File

@ -2,6 +2,7 @@
public class ModuleSellRemote : JournalBase
{
public override string Event => "ModuleSellRemote";
public int StorageSlot { get; init; }
public string SellItem { get; init; }
public string SellItem_Localised { get; init; }

View File

@ -2,6 +2,7 @@
public class ModuleStore : JournalBase
{
public override string Event => "ModuleStore";
public ulong MarketID { get; init; }
public string Slot { get; init; }
public string Ship { get; init; }

View File

@ -2,6 +2,7 @@
public class ModuleSwap : JournalBase
{
public override string Event => "ModuleSwap";
public ulong MarketID { get; init; }
public string FromSlot { get; init; }
public string ToSlot { get; init; }

View File

@ -2,6 +2,7 @@
public class Outfitting : JournalBase
{
public override string Event => "Outfitting";
public ulong MarketID { get; init; }
/// <summary>
/// Name of the station at which this event occurred.

View File

@ -2,6 +2,7 @@
public class PayBounties : JournalBase
{
public override string Event => "PayBounties";
public long Amount { get; init; }
public float BrokerPercentage { get; init; }
public bool AllFines { get; init; }

View File

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

View File

@ -3,6 +3,7 @@
[Obsolete(JournalUtilities.ObsoleteMessage)]
public class PayLegacyFines : JournalBase
{
public override string Event => "PayLegacyFines";
public long Amount { get; init; }
public float BrokerPercentage { get; init; }
}

View File

@ -7,6 +7,7 @@ namespace Observatory.Framework.Files.Journal.StationServices;
public class RedeemVoucher : JournalBase
{
public override string Event => "RedeemVoucher";
[JsonConverter(typeof(VoucherTypeConverter))]
public VoucherType Type { get; init; }
public long Amount { get; init; }

View File

@ -2,6 +2,7 @@
public class RefuelAll : JournalBase
{
public override string Event => "RefuelAll";
public int Cost { get; init; }
public float Amount { get; init; }
}

View File

@ -2,5 +2,5 @@
public class RefuelPartial : RefuelAll
{
public override string Event => "RefuelPartial";
}

View File

@ -4,6 +4,7 @@ namespace Observatory.Framework.Files.Journal.StationServices;
public class Repair : JournalBase
{
public override string Event => "Repair";
public string Item { get; init; }
public int Cost { get; init; }
public ImmutableList<string> Items { get; init; }

View File

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

View File

@ -2,6 +2,7 @@
public class RestockVehicle : JournalBase
{
public override string Event => "RestockVehicle";
public string Type { get; init; }
public string Loadout { get; init; }
public int Cost { get; init; }

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -2,6 +2,7 @@
public class Shipyard : JournalBase
{
public override string Event => "Shipyard";
public ulong MarketID { get; init; }
/// <summary>
/// Name of the station at which this event occurred.

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -5,6 +5,7 @@ namespace Observatory.Framework.Files.Journal.StationServices;
public class StoredModules : JournalBase
{
public override string Event => "StoredModules";
public string StarSystem { 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 StoredShips : JournalBase
{
public override string Event => "StoredShips";
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 TechnologyBroker : JournalBase
{
public override string Event => "TechnologyBroker";
public string BrokerType { get; init; }
public ulong MarketID { get; init; }
public ImmutableList<ItemName> ItemsUnlocked { get; init; }