namespace EDPlayerJournal.Entries;

public class SupercruiseExitEntry : Entry {
    /// <summary>
    /// Taxi?
    /// </summary>
    public bool Taxi { get; set; } = false;

    /// <summary>
    /// Multicrew or not.
    /// </summary>
    public bool Multicrew { get; set; } = false;

    /// <summary>
    /// Star system
    /// </summary>
    public string? StarSystem { get; set; }

    /// <summary>
    /// System address
    /// </summary>
    public ulong? SystemAddress { get; set; }

    /// <summary>
    /// Body, name e.g. HIP 6182 B 2 a
    /// </summary>
    public string? Body { get; set; }

    /// <summary>
    /// Body ID
    /// </summary>
    public ulong? BodyID { get; set; }

    /// <summary>
    /// Body type (star, planet etc.)
    /// </summary>
    public string? BodyType { get; set; }

    protected override void Initialise() {
        Taxi = JSON.Value<bool?>("Taxi") ?? false;
        Multicrew = JSON.Value<bool?>("Multicrew") ?? false;
        StarSystem = JSON.Value<string?>("StarSystem");
        SystemAddress = JSON.Value<ulong?>("SystemAddress");
        Body = JSON.Value<string?>("Body");
        BodyType = JSON.Value<string?>("BodyType");
        BodyID = JSON.Value<ulong?>("BodyID");
    }
}