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