// Создает трамвай и добавляет его в резерв // Создает и передает радио трамваю public void addTram() { var tram = new Tram(trams.list.Count() + 1, new Radio(repairStation)); trams.add(tram); reserved.Add(tram); }
// Перемещает трамвай в резерв public void moveToReserved(Tram tram) { if (!reserved.Contains(tram)) { reserved.Add(tram); } tram.resetRoute(); }
// Сообщает в диспетчерскую о поломке пути public void brokeNotify(Route route, Tram tram) { repairStation.repair(route, tram); }
// Сообщает в диспетчерскую о поломке трамвая public void brokeNotify(Tram tram) { repairStation.repair(tram); }
// Конструктор создает водителя, сохраняет ссылку на трамвай и радио public Driver(Tram tram, Radio radio) { this.radio = radio; this.tram = tram; }
// Помещает маршрут в список на починку, говорит депо снять трамвай с линии public void repair(Route route, Tram tram) { repair(route, Rnd.Next(9) + 2, routesInRepair); depot.moveToReserved(tram); }
// Помещает трамвай в список на починку, говорит депо снять его с линии public void repair(Tram tram) { repair(tram, Rnd.Next(4) + 2, tramsInRepair); depot.moveToReserved(tram); }