add missions entry

This commit is contained in:
2022-11-24 16:28:35 +01:00
parent 821b030213
commit 9feb176c31
5 changed files with 80 additions and 1 deletions

View File

@@ -30,6 +30,7 @@ public class Entry {
{ Events.MissionCompleted, typeof(MissionCompletedEntry) },
{ Events.MissionFailed, typeof(MissionFailedEntry) },
{ Events.MissionRedirected, typeof(MissionRedirectedEntry) },
{ Events.Missions, typeof(MissionsEntry) },
{ Events.MultiSellExplorationData, typeof(MultiSellExplorationDataEntry) },
{ Events.RedeemVoucher, typeof(RedeemVoucherEntry) },
{ Events.SearchAndRescue, typeof(SearchAndRescueEntry) },

View File

@@ -20,6 +20,7 @@ public class Events {
public static readonly string MissionCompleted = "MissionCompleted";
public static readonly string MissionFailed = "MissionFailed";
public static readonly string MissionRedirected = "MissionRedirected";
public static readonly string Missions = "Missions";
public static readonly string MultiSellExplorationData = "MultiSellExplorationData";
public static readonly string RedeemVoucher = "RedeemVoucher";
public static readonly string SearchAndRescue = "SearchAndRescue";

View File

@@ -0,0 +1,48 @@
using Newtonsoft.Json.Linq;
namespace EDPlayerJournal.Entries;
public class MissionsEntry : Entry {
/// <summary>
/// List of currently active mission.
/// </summary>
public List<Mission> Active { get; set; } = new List<Mission>();
/// <summary>
/// List of failed missions, not yet discarded.
/// </summary>
public List<Mission> Failed { get; set; } = new List<Mission>();
/// <summary>
/// List of completed missions, not yet turned in.
/// </summary>
public List<Mission> Complete { get; set; } = new List<Mission>();
protected override void Initialise() {
JArray? arr;
arr = JSON.Value<JArray?>("Active");
if (arr != null) {
foreach (JObject item in arr.Children().OfType<JObject>()) {
Mission m = Mission.FromMissionAccepted(item);
Active.Add(m);
}
}
arr = JSON.Value<JArray?>("Failed");
if (arr != null) {
foreach (JObject item in arr.Children().OfType<JObject>()) {
Mission m = Mission.FromMissionAccepted(item);
Failed.Add(m);
}
}
arr = JSON.Value<JArray?>("Complete");
if (arr != null) {
foreach (JObject item in arr.Children().OfType<JObject>()) {
Mission m = Mission.FromMissionAccepted(item);
Complete.Add(m);
}
}
}
}