protected void PostOperation(ProcessorOperationCouple decision, Unitload unitloadIn) { unitloadIn.Operation = decision.Operation; }
//key function to define unitload prioritizing for different implementations public abstract ProcessorOperationCouple Select(Unitload unit);
public StartProcessEvent(double timeIn, SimulationManager managerIn, Processor processorIn, Unitload unitloadIn, double transferTimeIn) : base(timeIn, managerIn) { this.processor = processorIn; this.unitload = unitloadIn; this.transferTime = transferTimeIn; }
public EnterQueueEvent(double timeIn, SimulationManager managerIn, Queue queueIn, Unitload unitloadIn) : base(timeIn, managerIn) { this.inqueue = queueIn; this.unitload = unitloadIn; }
//key function to define unitload prioritizing for different implementations public abstract void SelectStation(Unitload unitloadIn);
protected override void SelectOperation(Unitload unitloadIn, OperationList operationsIn, StationList processCellsIn) { unitloadIn.Operation = unitloadIn.Alternates[0].Operations[unitloadIn.Completed.Count]; }
public PullDecision() { this.inQueue = new Queue(); this.unitload = new Unitload(); }
public override void SelectStation(Unitload unitloadIn) { unitloadIn.Station = unitloadIn.Alternates[0].Operations[unitloadIn.Completed.Count].Station; }
protected abstract void SelectOperation(Unitload unitloadIn, OperationList operationsIn, StationList processCellsIn);