aboutsummaryrefslogtreecommitdiff
path: root/ShiftOS_TheReturn/VirusManager.cs
diff options
context:
space:
mode:
Diffstat (limited to 'ShiftOS_TheReturn/VirusManager.cs')
-rw-r--r--ShiftOS_TheReturn/VirusManager.cs36
1 files changed, 18 insertions, 18 deletions
diff --git a/ShiftOS_TheReturn/VirusManager.cs b/ShiftOS_TheReturn/VirusManager.cs
index 74d0e80..56767e6 100644
--- a/ShiftOS_TheReturn/VirusManager.cs
+++ b/ShiftOS_TheReturn/VirusManager.cs
@@ -13,24 +13,27 @@ namespace ShiftOS.Engine
public static void Init()
{
- ActiveInfections = new List<IVirus>();
- if (SaveSystem.CurrentSave.ViralInfections == null)
- SaveSystem.CurrentSave.ViralInfections = new List<ViralInfection>();
- foreach(var virusdata in SaveSystem.CurrentSave.ViralInfections)
+ Desktop.InvokeOnWorkerThread(() =>
{
- var virus = CreateVirus(virusdata.ID, virusdata.ThreatLevel);
- var existing = ActiveInfections.FirstOrDefault(x => x.GetType() == virus.GetType());
- if(existing != null)
+ ActiveInfections = new List<IVirus>();
+ if (SaveSystem.CurrentSave.ViralInfections == null)
+ SaveSystem.CurrentSave.ViralInfections = new List<ViralInfection>();
+ foreach (var virusdata in SaveSystem.CurrentSave.ViralInfections)
{
- var eIndex = ActiveInfections.IndexOf(existing);
- ActiveInfections[eIndex] = virus;
- existing.Disinfect();
- }
- else
- {
- ActiveInfections.Add(virus);
+ var virus = CreateVirus(virusdata.ID, virusdata.ThreatLevel);
+ var existing = ActiveInfections.FirstOrDefault(x => x.GetType() == virus.GetType());
+ if (existing != null)
+ {
+ var eIndex = ActiveInfections.IndexOf(existing);
+ ActiveInfections[eIndex] = virus;
+ existing.Disinfect();
+ }
+ else
+ {
+ ActiveInfections.Add(virus);
+ }
}
- }
+ });
}
public static void Infect(string id, int threatlevel)
@@ -90,9 +93,6 @@ namespace ShiftOS.Engine
}
}
}
- {
-
- }
throw new Exception("Cannot create virus.");
}