Example #1
0
 private void ReadyToDepart(ILoad load)
 {
     Log("Ready to Depart", load);
     if (DebugMode)
     {
         Debug.WriteLine("{0}:\t{1}\tReadyToDepart\t{2}", ClockTime, this, load);
     }
     HSet_Serving.Remove(load);
     HSet_PendingToDepart.Add(load);
     HC_Serving.ObserveChange(-1, ClockTime);
     HC_PendingToDepart.ObserveChange(1, ClockTime);
     OnReadyToDepart.Invoke(load);
 }
Example #2
0
 private void AtmptStart()
 {
     if (List_PendingToStart.Count > 0 && Vacancy > 0)
     {
         var load = List_PendingToStart.First();
         Log("Start", load);
         if (DebugMode)
         {
             Debug.WriteLine("{0}:\t{1}\tStart\t{2}", ClockTime, this, load);
         }
         List_PendingToStart.RemoveAt(0);
         HSet_Serving.Add(load);
         HC_Serving.ObserveChange(1, ClockTime);
         OnStarted.Invoke(load);
         Schedule(() => ReadyToDepart(load), Assets.ServiceTime(DefaultRS, load));
     }
 }