public void VyradZFronty(Cestujici ktereho) { foreach (Cestujici cestujici in fronta) { if (cestujici == ktereho) { fronta.Remove(cestujici); return; } } }
public void ZaradDoFronty(Cestujici cestujici) { fronta.Add(cestujici); Cestujici.dlouhyVypis.Add(VypisDlouhy("Cestující " + cestujici.ID + " ve frontě")); if (!obsluhuje) { obsluhuje = true; model.Naplanuj(model.CasSimulace, this, TypUdalosti.Prichod); } }
public override void Zpracuj(Udalost udalost) { switch (udalost.co) { case TypUdalosti.Prichod: if (fronta.Count == 0) { obsluhuje = false; } else { Cestujici cestujici = fronta[0]; fronta.RemoveAt(0); model.Odplanuj(cestujici, TypUdalosti.Cas); model.Naplanuj(model.CasSimulace + rychlostObsluhy, cestujici, TypUdalosti.Odbaven); model.Naplanuj(model.CasSimulace + rychlostObsluhy, this, TypUdalosti.Prichod); } break; } }