2
0
mirror of https://github.com/9ParsonsB/Pulsar.git synced 2025-04-05 17:39:39 -04:00
Ben Parsons efd0b3e0c0 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
2024-05-24 19:30:12 +10:00

54 lines
2.0 KiB
C#

using System.Globalization;
using System.Text.Json.Serialization;
using Observatory.Framework.Files.Converters;
using Observatory.Framework.Files.ParameterTypes;
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; }
public ulong MissionID { get; init; }
[JsonConverter(typeof(MissionEffectConverter))]
public MissionEffect Influence { get; init; }
[JsonConverter(typeof(MissionEffectConverter))]
public MissionEffect Reputation { get; init; }
public long Reward { get; init; }
public string Commodity { get; init; }
public string Commodity_Localised { get; init; }
public int Count { get; init; }
public string Donation { get; init; }
public int Donated { get; init; }
public string Target { get; init; }
public string Target_Localised { get; init; }
public string TargetType { get; init; }
public string TargetType_Localised { get; init; }
public string TargetFaction { get; init; }
public int KillCount { get; init; }
public string Expiry { get; init; }
public DateTime ExpiryDateTime
{
get
{
if (DateTime.TryParseExact(Expiry, "yyyy-MM-ddTHH:mm:ssZ", null, DateTimeStyles.AssumeUniversal, out var expiryDateTime))
{
return expiryDateTime;
}
return new DateTime();
}
}
public string DestinationSystem { get; init; }
public string DestinationStation { get; init; }
public string DestinationSettlement { get; init; }
public string NewDestinationSystem { get; init; }
public string NewDestinationStation { get; init; }
public int PassengerCount { get; init; }
public bool PassengerVIPs { get; init; }
public bool PassengerWanted { get; init; }
public string PassengerType { get; init; }
public bool Wing { get; init; }
}