コード例 #1
0
ファイル: Status.cs プロジェクト: DucQuang1/O2DES.Net
 internal void Depart(Job departing)
 {
     departing.ExitTime = _sim.ClockTime;
     JobsDeparted.Add(departing);
     JobsInSystem.Remove(departing);
     TimeSeries_JobHoursInSystem.Add((departing.ExitTime - departing.EnterTime).TotalHours);
 }
コード例 #2
0
ファイル: Status.cs プロジェクト: DucQuang1/O2DES.Net
 internal Job GetWaitingJob_onFinishProcess(Job finishing)
 {
     var machine = finishing.BeingProcessedBy;
     finishing.CurrentStage++;
     finishing.BeingProcessedBy = null;
     machine.Processing = null;
     if (Queues[machine.Type.Id].Count > 0)
         return Queues[machine.Type.Id].Dequeue();
     return null;
 }
コード例 #3
0
ファイル: FinishProcess.cs プロジェクト: DucQuang1/O2DES.Net
 internal FinishProcess(Simulator sim, Job job) : base(sim) { Job = job; }
コード例 #4
0
ファイル: Status.cs プロジェクト: DucQuang1/O2DES.Net
 internal void Enqueue(Job toWait)
 {
     Queues[toWait.CurrentMachineTypeIndex].Enqueue(toWait);
 }
コード例 #5
0
ファイル: Status.cs プロジェクト: DucQuang1/O2DES.Net
 internal void Update_StartProcess(Job starting, Machine machine)
 {
     machine.Processing = starting;
     starting.BeingProcessedBy = machine;            
 }
コード例 #6
0
ファイル: Status.cs プロジェクト: DucQuang1/O2DES.Net
 internal Job Generate_EnteringJob(Random rs)
 {
     var job = new Job { Id = JobCounter++, Type = _sim.Scenario.Generate_JobType(rs), EnterTime = _sim.ClockTime, CurrentStage = 0 };
     JobsInSystem.Add(job);
     return job;
 }
コード例 #7
0
ファイル: StartProcess.cs プロジェクト: DucQuang1/O2DES.Net
 internal StartProcess(Simulator sim, Job job) : base(sim) { Job = job; }