public void Initialize(int position, IModuleSimulator originModule, SimulatedJunction mosaicControlledJunction, params IModuleSimulator[] targetModules) { Position = position; _originModule = originModule; _targetModules = targetModules; _mosaicControlledJunction = mosaicControlledJunction; }
public void Initialize(int position, IModuleSimulator originModule, IModuleSimulator targetModule, JunctionDistributionMode mode = JunctionDistributionMode.SortOutEverySecond) { Position = position; _originModule = originModule; _targetModule = targetModule; Mode = mode; }
public IModuleSimulator GetNextModule(IModuleSimulator simulator) { if (simulator.Name == "ModuleA") { return(_simulatedModules.FirstOrDefault(m => m.Name == "ModuleB")); } return(null); }
public IList <ISimulatedEquipment> GetEquipmentsOfModule(IModuleSimulator module) { if (!_equipments.ContainsKey(module)) { return(new List <ISimulatedEquipment>()); } return(_equipments[module]); }
public IModuleSimulator GetModule(string name) { IModuleSimulator foundModule = AllModules.FirstOrDefault(m => Equals(m.Name, name)); if (foundModule == null) { throw new SimulationException(new StringBuilder().AppendLine() .AppendFormat("Tried to get the module with name '{0}'.", name).AppendLine() .AppendLine("Unfortunately that module does not exist.").ToString()); } return(foundModule); }
public void SetUp() { _logger = new Mock <ILogger>(); ComposeMefContainer(); var factory = _container.GetExportedValue <IModuleSimulatorFactory>(); _moduleA = factory.CreateModule(); _moduleA.Initialize(10, "ModuleA"); _moduleB = factory.CreateModule(); _moduleB.Initialize(10, "ModuleB"); factory.TriggerContainerRecomposition(); _taktManager = _container.GetExportedValue <ITaktManager>(); _container.GetExportedValue <SimulatedItemFlowManager>(); }
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 IModuleSimulator GetNextModule(IModuleSimulator simulator) { var currentNode = _graphDto.Vertices.FirstOrDefault(v => v.Name == simulator.Name); if (currentNode == null) { return(null); } var lastEdge = _graphDto.Edges.LastOrDefault(e => e.Source == currentNode.Name); if (lastEdge == null) { return(null); } return(_moduleRepository.GetModule(lastEdge.Target)); }
public void AddModule(IModuleSimulator module) { _modulesAddedAtRuntime.Add(module); }
/// <summary> /// Initializes the <see cref="QueueEquipment" />. /// </summary> /// <param name="position">The slot position of the equipment.</param> /// <param name="module">This equipment needs a reference to the module where it is attached.</param> public void Initialize(int position, IModuleSimulator module) { Position = position; _module = module; }
public void Initialize(int position, IModuleSimulator module, int numberOfTaktsBeforeCreateItem) { _module = module; Position = position; NumberOfTaktsBeforeCreateItem = numberOfTaktsBeforeCreateItem; }