EDBGS/EDPlayerJournal/Entries/FileHeaderEntry.cs

54 lines
1.4 KiB
C#

namespace EDPlayerJournal.Entries;
public class FileHeaderEntry : Entry {
/// <summary>
/// File part.
/// </summary>
public ulong Part { get; set; } = 1;
/// <summary>
/// Local language of the file.
/// </summary>
public string? Language { get; set; }
/// <summary>
/// Whether the file is for an Odyssey version
/// </summary>
public bool Odyssey { get; set; } = false;
/// <summary>
/// Game version in question (3.8 or 4.0)
/// </summary>
public string GameVersion { get; set; } = "3.8";
/// <summary>
/// Build version (SVN revision number).
/// </summary>
public string? Build { get; set; }
/// <summary>
/// Returns true if the version is legacy (3.X)
/// <summary>
public bool IsLegacy {
get {
return GameVersion.StartsWith("3.");
}
}
/// <summary>
/// Returns true if the version is live (4.x)
/// </summary>
public bool IsLive {
get { return !IsLegacy; }
}
protected override void Initialise() {
Part = JSON.Value<ulong?>("part") ?? 1;
Language = JSON.Value<string?>("language") ?? string.Empty;
// If this entry is not there then its a legacy entry
Odyssey = JSON.Value<bool?>("Odyssey") ?? false;
GameVersion = JSON.Value<string?>("gameversion") ?? "3.8";
Build = JSON.Value<string?>("build");
}
}