throw InvalidParameterValue("Unknown track");
}
+Train &TrafficManager::get_train_by_locomotive(const Locomotive &loco) const
+{
+ for(list<Train *>::const_iterator i=trains.begin(); i!=trains.end(); ++i)
+ if(&(*i)->get_locomotive()==&loco)
+ return **i;
+
+ throw InvalidParameterValue("Unknown locomotive");
+}
+
void TrafficManager::add_train(Train *t)
{
if(find(trains.begin(), trains.end(), t)==trains.end())
+ {
trains.push_back(t);
+ signal_train_added.emit(*t);
+ }
}
void TrafficManager::tick()