public void spawniCastSouprav() { foreach (KeyValuePair <string, Stanice[]> k in seznamStanic.konecneStanice) { if (nastaveni.nastaveniLinek[k.Key].pocetSouprav > pocetSouprav[k.Key]) //jeste je potreba spawnout { Souprava s = new Souprava(this, k.Key + pocetSouprav[k.Key], k.Key, true, nastaveni.nastaveniLinek[k.Key].rychlostSouprav, nastaveni.nastaveniLinek[k.Key].kapacitaSouprav, nastaveni.nastaveniLinek[k.Key].dobaCekaniVeStanici, k.Value[0]); //souprava na pocatecni stanici pridejSoupravu(s); spawniSoupravu(s, cas); s = new Souprava(this, k.Key + pocetSouprav[k.Key], k.Key, false, nastaveni.nastaveniLinek[k.Key].rychlostSouprav, nastaveni.nastaveniLinek[k.Key].kapacitaSouprav, nastaveni.nastaveniLinek[k.Key].dobaCekaniVeStanici, k.Value[1]); //souprava na konci v protismeru pridejSoupravu(s); spawniSoupravu(s, cas); } else { Console.WriteLine("přeskakuju " + k.Key + " pocet souprav je " + pocetSouprav[k.Key] + " kapacita: " + nastaveni.nastaveniLinek[k.Key].pocetSouprav); } } }
private void pridejSoupravu(Souprava s) { seznamSouprav.Add(s.id, s); pocetSouprav[s.pismeno]++; }
private void spawniSoupravu(Souprava s, float cas) //prida soupravu do kalendar { kalendar.pridejUdalost(new Udalost(cas, s, TypUdalosti.prijezdDoStanice)); }