Compare commits
	
		
			2 Commits
		
	
	
		
			e724955ec8
			...
			c8e985cb39
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| c8e985cb39 | |||
| dd4cc8ba5f | 
| @ -11,6 +11,11 @@ namespace NonaBGS.BGS { | ||||
|         public string Station { get; set; } | ||||
|         public string System { get; set; } | ||||
|         public string Faction { get; set; } | ||||
|         /// <summary> | ||||
|         /// Whether this entry was manually added. Manually added entries are not deleted | ||||
|         /// when a new scan is made. Instead they are preserved. | ||||
|         /// </summary> | ||||
|         public bool ManuallyAdded { get; set; } | ||||
| 
 | ||||
|         /// <summary> | ||||
|         /// Whether this entry only benefits the controlling faction or not, default: no | ||||
|  | ||||
| @ -16,6 +16,12 @@ namespace NonaBGS.BGS { | ||||
|             get => entries; | ||||
|             set => entries = value; | ||||
|         } | ||||
|         public void Clear() { | ||||
|             if (entries == null) { | ||||
|                 return; | ||||
|             } | ||||
|             entries.RemoveAll(x => !x.ManuallyAdded); | ||||
|         } | ||||
| 
 | ||||
|         public int Matches(LogEntry e) { | ||||
|             int match_count = 0; | ||||
|  | ||||
| @ -54,7 +54,7 @@ namespace NonaBGS.BGS { | ||||
|             string current_station = null; | ||||
|             string controlling_faction = null; | ||||
| 
 | ||||
|             this.objectives.ForEach(x => x.LogEntries.Clear()); | ||||
|             objectives.ForEach(x => x.Clear()); | ||||
| 
 | ||||
|             foreach (var e in relevant) { | ||||
|                 LogEntry entry = null; | ||||
| @ -145,12 +145,14 @@ namespace NonaBGS.BGS { | ||||
| 
 | ||||
|                 LogEntry existing = null; | ||||
| 
 | ||||
|                 try { | ||||
|                     existing = objective.LogEntries.Find(x => x.CompareTo(entry) == 0); | ||||
|                 } catch (NotImplementedException) { | ||||
|                     // Equivalent to not having found anything | ||||
|                     existing = null; | ||||
|                 } | ||||
|                 existing = objective.LogEntries.Find(x => { | ||||
|                         try { | ||||
|                             return x.CompareTo(entry) == 0; | ||||
|                         } catch (NotImplementedException) { | ||||
|                             return false; | ||||
|                         } | ||||
|                     }); | ||||
| 
 | ||||
|                 if (collate && existing != null) { | ||||
|                     existing.Entries.Add(e); | ||||
|                 } else if (!collate || existing == null) { | ||||
|  | ||||
| @ -264,6 +264,7 @@ namespace NonaBGS { | ||||
| 
 | ||||
|             CombatZone zone = new CombatZone(); | ||||
| 
 | ||||
|             zone.ManuallyAdded = true; | ||||
|             zone.Faction = objective.Faction; | ||||
|             zone.System = objective.System; | ||||
|             zone.Station = objective.Station; | ||||
|  | ||||
		Reference in New Issue
	
	Block a user