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}");
 }