54 lines
1.4 KiB
C#
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");
|
|
}
|
|
}
|