public override void LoadSave(object obj) { TempMechanicServiceSave save = obj as TempMechanicServiceSave; if (save != null) { TempMechanics.Clear(); save.Validate(); foreach (var kvp in save.tempMechanics) { Dictionary <string, TempMechanicInfo> generatorMechanics = new Dictionary <string, TempMechanicInfo>(); foreach (var kvp2 in kvp.Value) { generatorMechanics.Add(kvp2.Key, new TempMechanicInfo(kvp2.Value)); } TempMechanics.Add(kvp.Key, generatorMechanics); } SpeedMults.Clear(); SpeedMults.CopyFrom(save.speedMults); IsLoaded = true; } else { LoadDefaults(); } }
private int GetCountOfActiveTempMechanics(int generatorId) { if (TempMechanics.ContainsKey(generatorId)) { return(TempMechanics[generatorId].Where(kvp => !kvp.Value.IsCompleted).Count()); } return(0); }
public Dictionary <string, TempMechanicInfo> GetMechanics(int generatorId) { if (!TempMechanics.ContainsKey(generatorId)) { TempMechanics.Add(generatorId, new Dictionary <string, TempMechanicInfo>()); } return(TempMechanics[generatorId]); }
private void AddTempMechanic(TempMechanicInfo mechanic) { if (TempMechanics.ContainsKey(mechanic.GeneratorId)) { TempMechanics[mechanic.GeneratorId].Add(mechanic.Id, mechanic); } else { Dictionary <string, TempMechanicInfo> generatorMechanics = new Dictionary <string, TempMechanicInfo> { [mechanic.Id] = mechanic }; TempMechanics.Add(mechanic.GeneratorId, generatorMechanics); } mechanic.StartMechanic(); GameEvents.OnTempMechanicAdded(mechanic); UDBG.Log($"mechanic started with interval => {mechanic.Interval}"); }
public override void LoadDefaults() { TempMechanics.Clear(); SpeedMults.Clear(); IsLoaded = true; }