11using System ;
2+ using System . Collections . Generic ;
23using System . Linq ;
34using EliteJournalReader ;
45using EliteJournalReader . Events ;
@@ -11,10 +12,14 @@ public class EliteData
1112
1213 public static bool UnderAttack = false ;
1314 public static DateTime LastUnderAttackEvent = DateTime . Now ;
14- public static string FsdTargetName { get ; set ; }
15- public static int RemainingJumpsInRoute { get ; set ; }
16- public static string StarClass { get ; set ; }
15+ // public static string FsdTargetName { get; set; }
16+ // public static int RemainingJumpsInRoute { get; set; }
17+ // public static string StarClass { get; set; }
1718 public static string StarSystem { get ; set ; }
19+
20+ public static List < RouteItem > RouteList = new List < RouteItem > ( ) ;
21+
22+
1823 public static int LimpetCount { get ; set ; }
1924
2025 public class Status
@@ -95,6 +100,26 @@ public class Status
95100
96101 public static Status StatusData = new Status ( ) ;
97102
103+ public static void HandleNavRouteEvents ( object sender , NavRouteEvent . NavRouteEventArgs info )
104+ {
105+ if ( info ? . Route == null || info . Route . Length < 2 )
106+ {
107+ RouteList = new List < RouteItem > ( ) ;
108+ }
109+ else
110+ {
111+ RouteList = info . Route . Select (
112+ x => new RouteItem
113+ {
114+ StarClass = x . StarClass ,
115+ StarPos = x . StarPos ,
116+ StarSystem = x . StarSystem ,
117+ SystemAddress = x . SystemAddress ,
118+ } ) . Skip ( 1 ) . ToList ( ) ;
119+
120+ }
121+ }
122+
98123 public static void HandleCargoEvents ( object sender , CargoEvent . CargoEventArgs evt )
99124 {
100125 if ( evt ? . Inventory != null && evt ? . Vessel == "Ship" )
@@ -251,13 +276,13 @@ public static void HandleEliteEvents(object sender, JournalEventArgs e)
251276
252277 case "FSDTarget" :
253278 //When written: when selecting a star system to jump to
254- var fsdTargetInfo = ( FSDTargetEvent . FSDTargetEventArgs ) e ;
279+ // var fsdTargetInfo = (FSDTargetEvent.FSDTargetEventArgs)e;
255280
256- EliteData . FsdTargetName = fsdTargetInfo . Name ;
281+ // EliteData.FsdTargetName = fsdTargetInfo.Name;
257282
258- EliteData . RemainingJumpsInRoute = fsdTargetInfo . RemainingJumpsInRoute ;
283+ // EliteData.RemainingJumpsInRoute = fsdTargetInfo.RemainingJumpsInRoute;
259284
260- EliteData . StarClass = fsdTargetInfo . StarClass ;
285+ // EliteData.StarClass = fsdTargetInfo.StarClass;
261286
262287 break ;
263288
@@ -276,7 +301,7 @@ public static void HandleEliteEvents(object sender, JournalEventArgs e)
276301
277302 case "Cargo" :
278303
279- var cargoInfo = ( CargoEvent . CargoEventArgs ) e ;
304+ // var cargoInfo = (CargoEvent.CargoEventArgs)e;
280305 /*
281306 if (cargoInfo.Vessel == "Ship")
282307 {
@@ -296,12 +321,18 @@ public static void HandleEliteEvents(object sender, JournalEventArgs e)
296321
297322 case "Died" :
298323
299- var diedInfo = ( DiedEvent . DiedEventArgs ) e ;
324+ // var diedInfo = (DiedEvent.DiedEventArgs)e;
300325
301326 EliteData . LimpetCount = 0 ;
302327
303328 break ;
304329
330+ case "NavRouteClear" :
331+
332+ EliteData . RouteList = new List < RouteItem > ( ) ;
333+
334+ break ;
335+
305336 }
306337
307338 }
0 commit comments