/// <summary> /// Gets the module where the equipment was assigned to. /// </summary> /// <param name="equipment">The equipment.</param> /// <returns>The ModuleSimulator or null if the equipment was never assigned to any module.</returns> public IModuleSimulator GetModuleOfEquipment(ISimulatedEquipment equipment) { IModuleSimulator ret; _equipmentToModuleMapping.TryGetValue(equipment, out ret); return(ret); }
public void AddEquipment(ISimulatedEquipment equipment) { if (equipment.Position < 0 || equipment.Position > Length - 1) { throw new SimulationException("The equipment position " + equipment.Position + " exceeds the ModuleSimulator range of " + Name); } _equipmentRepository.AddEquipment(equipment, this); _simulatedEquipments.Add(equipment); var taktPart = equipment as ITakt; if (taktPart != null) { TaktPartsRepository.AddTaktPart(taktPart); } }
public void AddEquipment(ISimulatedEquipment equipment, IModuleSimulator module) { if (!_equipments.ContainsKey(module)) { _equipments.Add(module, new List <ISimulatedEquipment>()); } var alreadyAssignedToModule = GetModuleOfEquipment(equipment); if (alreadyAssignedToModule != null) { throw new SimulationException(string.Format("The equipment {0} is already assigned to module {1}", equipment.GetType().Name, alreadyAssignedToModule.Name)); } _equipments[module].Add(equipment); _equipmentToModuleMapping.Add(equipment, module); }
public void RemoveEquipment(ISimulatedEquipment equipment) { equipment.IsActive = false; _simulatedEquipments.Remove(equipment); }