diff --git a/EliteAPI/EliteAPI.csproj b/EliteAPI/EliteAPI.csproj
index 4281e5ae..214f429b 100644
--- a/EliteAPI/EliteAPI.csproj
+++ b/EliteAPI/EliteAPI.csproj
@@ -80,7 +80,10 @@
+
+
+
@@ -91,9 +94,12 @@
+
+
+
@@ -110,9 +116,13 @@
+
+
+
+
@@ -121,6 +131,8 @@
+
+
@@ -136,6 +148,10 @@
+
+
+
+
diff --git a/EliteAPI/EliteDangerousAPI.cs b/EliteAPI/EliteDangerousAPI.cs
index 18cc7953..ba8026c1 100644
--- a/EliteAPI/EliteDangerousAPI.cs
+++ b/EliteAPI/EliteDangerousAPI.cs
@@ -161,7 +161,7 @@ private void Process(string json)
{
default:
OtherEvent?.Invoke(this, JsonConvert.DeserializeObject(json));
- //File.AppendAllText(@"D:\NotAddedEvents.txt", json + Environment.NewLine);
+ File.AppendAllText(@"D:\NotAddedEvents.txt", json + Environment.NewLine);
break;
case "ClearSavedGame":
@@ -419,9 +419,144 @@ private void Process(string json)
case "LaunchFighter":
LaunchFighterEvent?.Invoke(this, JsonConvert.DeserializeObject(json));
break;
+
+ case "BuyAmmo":
+ BuyAmmoEvent?.Invoke(this, JsonConvert.DeserializeObject(json));
+ break;
+
+ case "CommitCrime":
+ CommitCrimeEvent?.Invoke(this, JsonConvert.DeserializeObject(json));
+ break;
+
+ case "PayFine":
+ PayFineEvent?.Invoke(this, JsonConvert.DeserializeObject(json));
+ break;
+
+ case "HeatWarning":
+ HeatWarningEvent?.Invoke(this, JsonConvert.DeserializeObject(json));
+ break;
+
+ case "WingInvite":
+ WingInviteEvent?.Invoke(this, JsonConvert.DeserializeObject(json));
+ break;
+
+ case "WingJoin":
+ WingJoinEvent?.Invoke(this, JsonConvert.DeserializeObject(json));
+ break;
+
+ case "WingAdd":
+ WingAddEvent?.Invoke(this, JsonConvert.DeserializeObject(json));
+ break;
+
+ case "WingLeave":
+ WingLeaveEvent?.Invoke(this, JsonConvert.DeserializeObject(json));
+ break;
+
+ case "NavBeaconScan":
+ NavBeaconScanEvent?.Invoke(this, JsonConvert.DeserializeObject(json));
+ break;
+
+ case "CargoDepot":
+ CargoDepotEvent?.Invoke(this, JsonConvert.DeserializeObject(json));
+ break;
+
+ case "PayFines":
+ PayFinesEvent?.Invoke(this, JsonConvert.DeserializeObject(json));
+ break;
+
+ case "SellExplorationData":
+ SellExplorationDataEvent?.Invoke(this, JsonConvert.DeserializeObject(json));
+ break;
+
+ case "FetchRemoteModule":
+ FetchRemoteModuleEvent?.Invoke(this, JsonConvert.DeserializeObject(json));
+ break;
+
+ case "ModuleSellRemote":
+ ModuleSellRemoteEvent?.Invoke(this, JsonConvert.DeserializeObject(json));
+ break;
+
+ case "EscapeInterdiction":
+ EscapeInterdictionEvent?.Invoke(this, JsonConvert.DeserializeObject(json));
+ break;
}
}
+ ///
+ /// Triggered whenever a player sells a module remotely.
+ ///
+ public event EventHandler EscapeInterdictionEvent;
+
+ ///
+ /// Triggered whenever a player sells a module remotely.
+ ///
+ public event EventHandler ModuleSellRemoteEvent;
+
+ ///
+ /// Triggered whenever a player requests a remote module.
+ ///
+ public event EventHandler FetchRemoteModuleEvent;
+
+ ///
+ /// Triggered whenever a player mass-pays their fines.
+ ///
+ public event EventHandler SellExplorationDataEvent;
+
+ ///
+ /// Triggered whenever a player mass-pays their fines.
+ ///
+ public event EventHandler PayFinesEvent;
+
+ ///
+ /// Triggered whenever a cargo delivery mission gets updated.
+ ///
+ public event EventHandler CargoDepotEvent;
+
+ ///
+ /// Triggered whenever a player leaves the wing.
+ ///
+ public event EventHandler NavBeaconScanEvent;
+
+ ///
+ /// Triggered whenever a player leaves the wing.
+ ///
+ public event EventHandler WingLeaveEvent;
+
+ ///
+ /// Triggered whenever another commander gets added to the wing.
+ ///
+ public event EventHandler WingAddEvent;
+
+ ///
+ /// Triggered whenever a player joins a wing.
+ ///
+ public event EventHandler WingJoinEvent;
+
+ ///
+ /// Triggered whenever a player gets invited for a wing.
+ ///
+ public event EventHandler WingInviteEvent;
+
+ ///
+ /// Triggered whenever the ships becomes too hot.
+ ///
+ public event EventHandler HeatWarningEvent;
+
+ ///
+ /// Triggered whenever a player pays their fines.
+ ///
+ public event EventHandler PayFineEvent;
+
+ ///
+ /// Triggered whenever a player commits a crime.
+ ///
+ public event EventHandler CommitCrimeEvent;
+
+ ///
+ /// Triggered when a player buys ammunition from a station.
+ ///
+ public event EventHandler BuyAmmoEvent;
+
///
/// Triggered for every event that hasn't been included yet.
///
diff --git a/EliteAPI/Events/BuyAmmo.cs b/EliteAPI/Events/BuyAmmo.cs
new file mode 100644
index 00000000..fce0b0e4
--- /dev/null
+++ b/EliteAPI/Events/BuyAmmo.cs
@@ -0,0 +1,10 @@
+using System;
+
+namespace EliteAPI
+{
+ public class BuyAmmoInfo
+ {
+ public DateTime timestamp { get; set; }
+ public int Cost { get; set; }
+ }
+}
diff --git a/EliteAPI/Events/CargoDepot.cs b/EliteAPI/Events/CargoDepot.cs
new file mode 100644
index 00000000..9a9d7f8e
--- /dev/null
+++ b/EliteAPI/Events/CargoDepot.cs
@@ -0,0 +1,20 @@
+using System;
+
+namespace EliteAPI
+{
+ public class CargoDepotInfo
+ {
+ public DateTime timestamp { get; set; }
+ public int MissionID { get; set; }
+ public string UpdateType { get; set; }
+ public string CargoType { get; set; }
+ public string CargoType_Localised { get; set; }
+ public int Count { get; set; }
+ public long StartMarketID { get; set; }
+ public long EndMarketID { get; set; }
+ public int ItemsCollected { get; set; }
+ public int ItemsDelivered { get; set; }
+ public int TotalItemsToDeliver { get; set; }
+ public double Progress { get; set; }
+ }
+}
diff --git a/EliteAPI/Events/CommitCrime.cs b/EliteAPI/Events/CommitCrime.cs
new file mode 100644
index 00000000..a06d38d3
--- /dev/null
+++ b/EliteAPI/Events/CommitCrime.cs
@@ -0,0 +1,12 @@
+using System;
+
+namespace EliteAPI
+{
+ public class CommitCrimeInfo
+ {
+ public DateTime timestamp { get; set; }
+ public string CrimeType { get; set; }
+ public string Faction { get; set; }
+ public int Fine { get; set; }
+ }
+}
diff --git a/EliteAPI/Events/EscapeInterdiction.cs b/EliteAPI/Events/EscapeInterdiction.cs
new file mode 100644
index 00000000..19b95cea
--- /dev/null
+++ b/EliteAPI/Events/EscapeInterdiction.cs
@@ -0,0 +1,11 @@
+using System;
+
+namespace EliteAPI
+{
+ public class EscapeInterdictionInfo
+ {
+ public DateTime timestamp { get; set; }
+ public string Interdictor { get; set; }
+ public bool IsPlayer { get; set; }
+ }
+}
diff --git a/EliteAPI/Events/FetchRemoteModule.cs b/EliteAPI/Events/FetchRemoteModule.cs
new file mode 100644
index 00000000..bbb83589
--- /dev/null
+++ b/EliteAPI/Events/FetchRemoteModule.cs
@@ -0,0 +1,17 @@
+using System;
+
+namespace EliteAPI
+{
+ public class FetchRemoteModuleInfo
+ {
+ public DateTime timestamp { get; set; }
+ public int StorageSlot { get; set; }
+ public string StoredItem { get; set; }
+ public string StoredItem_Localised { get; set; }
+ public int ServerId { get; set; }
+ public int TransferCost { get; set; }
+ public int TransferTime { get; set; }
+ public string Ship { get; set; }
+ public int ShipID { get; set; }
+ }
+}
diff --git a/EliteAPI/Events/HeatWarning.cs b/EliteAPI/Events/HeatWarning.cs
new file mode 100644
index 00000000..755521da
--- /dev/null
+++ b/EliteAPI/Events/HeatWarning.cs
@@ -0,0 +1,9 @@
+using System;
+
+namespace EliteAPI
+{
+ public class HeatWarningInfo
+ {
+ public DateTime timestamp { get; set; }
+ }
+}
diff --git a/EliteAPI/Events/Market.cs b/EliteAPI/Events/Market.cs
index 41234988..f9403b2c 100644
--- a/EliteAPI/Events/Market.cs
+++ b/EliteAPI/Events/Market.cs
@@ -5,7 +5,7 @@ namespace EliteAPI
public class MarketInfo
{
public DateTime timestamp { get; set; }
- public string @event { get; set; }
+
public long MarketID { get; set; }
public string StationName { get; set; }
public string StarSystem { get; set; }
diff --git a/EliteAPI/Events/ModuleSellRemote.cs b/EliteAPI/Events/ModuleSellRemote.cs
new file mode 100644
index 00000000..a4ede8af
--- /dev/null
+++ b/EliteAPI/Events/ModuleSellRemote.cs
@@ -0,0 +1,16 @@
+using System;
+
+namespace EliteAPI
+{
+ public class ModuleSellRemoteInfo
+ {
+ public DateTime timestamp { get; set; }
+ public int StorageSlot { get; set; }
+ public string SellItem { get; set; }
+ public string SellItem_Localised { get; set; }
+ public int ServerId { get; set; }
+ public int SellPrice { get; set; }
+ public string Ship { get; set; }
+ public int ShipID { get; set; }
+ }
+}
diff --git a/EliteAPI/Events/NavBeaconScan.cs b/EliteAPI/Events/NavBeaconScan.cs
new file mode 100644
index 00000000..e5eb9ba7
--- /dev/null
+++ b/EliteAPI/Events/NavBeaconScan.cs
@@ -0,0 +1,11 @@
+using System;
+
+namespace EliteAPI
+{
+ public class NavBeaconScanInfo
+ {
+ public DateTime timestamp { get; set; }
+ public long SystemAddress { get; set; }
+ public int NumBodies { get; set; }
+ }
+}
diff --git a/EliteAPI/Events/PayFine.cs b/EliteAPI/Events/PayFine.cs
new file mode 100644
index 00000000..2bd13a46
--- /dev/null
+++ b/EliteAPI/Events/PayFine.cs
@@ -0,0 +1,12 @@
+using System;
+
+namespace EliteAPI
+{
+ public class PayFineInfo
+ {
+ public DateTime timestamp { get; set; }
+ public int Amount { get; set; }
+ public bool AllFines { get; set; }
+ public int ShipID { get; set; }
+ }
+}
diff --git a/EliteAPI/Events/PayFines.cs b/EliteAPI/Events/PayFines.cs
new file mode 100644
index 00000000..4ab772c8
--- /dev/null
+++ b/EliteAPI/Events/PayFines.cs
@@ -0,0 +1,12 @@
+using System;
+
+namespace EliteAPI
+{
+ public class PayFinesInfo
+ {
+ public DateTime timestamp { get; set; }
+ public int Amount { get; set; }
+ public bool AllFines { get; set; }
+ public int ShipID { get; set; }
+ }
+}
diff --git a/EliteAPI/Events/SellExplorationData.cs b/EliteAPI/Events/SellExplorationData.cs
new file mode 100644
index 00000000..b5c83ce9
--- /dev/null
+++ b/EliteAPI/Events/SellExplorationData.cs
@@ -0,0 +1,15 @@
+using System;
+using System.Collections.Generic;
+
+namespace EliteAPI
+{
+ public class SellExplorationDataInfo
+ {
+ public DateTime timestamp { get; set; }
+ public List Systems { get; set; }
+ public List Discovered { get; set; }
+ public int BaseValue { get; set; }
+ public int Bonus { get; set; }
+ public int TotalEarnings { get; set; }
+ }
+}
diff --git a/EliteAPI/Events/SetUserShipName.cs b/EliteAPI/Events/SetUserShipName.cs
new file mode 100644
index 00000000..88644ea2
--- /dev/null
+++ b/EliteAPI/Events/SetUserShipName.cs
@@ -0,0 +1,14 @@
+using System;
+
+namespace EliteAPI
+{
+ public class SetUserShipNameInfo
+ {
+ public DateTime timestamp { get; set; }
+
+ public string Ship { get; set; }
+ public int ShipID { get; set; }
+ public string UserShipName { get; set; }
+ public string UserShipId { get; set; }
+ }
+}
diff --git a/EliteAPI/Events/WingAdd.cs b/EliteAPI/Events/WingAdd.cs
new file mode 100644
index 00000000..1f94b4d3
--- /dev/null
+++ b/EliteAPI/Events/WingAdd.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace EliteAPI
+{
+ public class WingAddInfo
+ {
+ public DateTime timestamp { get; set; }
+ public string Name { get; set; }
+ }
+}
diff --git a/EliteAPI/Events/WingInvite.cs b/EliteAPI/Events/WingInvite.cs
new file mode 100644
index 00000000..184819a8
--- /dev/null
+++ b/EliteAPI/Events/WingInvite.cs
@@ -0,0 +1,10 @@
+using System;
+
+namespace EliteAPI
+{
+ public class WingInviteInfo
+ {
+ public DateTime timestamp { get; set; }
+ public string Name { get; set; }
+ }
+}
diff --git a/EliteAPI/Events/WingJoin.cs b/EliteAPI/Events/WingJoin.cs
new file mode 100644
index 00000000..54abb099
--- /dev/null
+++ b/EliteAPI/Events/WingJoin.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace EliteAPI
+{
+ public class WingJoinInfo
+ {
+ public DateTime timestamp { get; set; }
+ public List Others { get; set; }
+ }
+}
diff --git a/EliteAPI/Events/WingLeave.cs b/EliteAPI/Events/WingLeave.cs
new file mode 100644
index 00000000..33ac8080
--- /dev/null
+++ b/EliteAPI/Events/WingLeave.cs
@@ -0,0 +1,9 @@
+using System;
+
+namespace EliteAPI
+{
+ public class WingLeaveInfo
+ {
+ public DateTime timestamp { get; set; }
+ }
+}
diff --git a/EliteAPI/Properties/AssemblyInfo.cs b/EliteAPI/Properties/AssemblyInfo.cs
index 6aa6c94c..16f87f34 100644
--- a/EliteAPI/Properties/AssemblyInfo.cs
+++ b/EliteAPI/Properties/AssemblyInfo.cs
@@ -33,7 +33,7 @@
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.1.4.1")]
-[assembly: AssemblyFileVersion("1.1.4.1")]
+[assembly: AssemblyVersion("1.1.4.2")]
+[assembly: AssemblyFileVersion("1.1.4.2")]
[assembly: NeutralResourcesLanguage("en")]
diff --git a/Test/Program.cs b/Test/Program.cs
index 5d9db582..938d57f7 100644
--- a/Test/Program.cs
+++ b/Test/Program.cs
@@ -16,10 +16,10 @@ class Program
{
static void Main(string[] args)
{
- EliteDangerousAPI EliteAPI = new EliteDangerousAPI(new DirectoryInfo($@"C:\Users\{Environment.UserName}\Saved Games\Frontier Developments\Elite Dangerous"));
+ EliteDangerousAPI EliteAPI = new EliteDangerousAPI(new DirectoryInfo($@"C:\Users\{Environment.UserName}\Saved Games\Frontier Developments\Elite Dangerous"), false);
EliteAPI.Start();
Thread.Sleep(-1);
}
- }
+ }
}