]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/trainrouter.cpp
Maintain a separate list of pending RoutingStates
[r2c2.git] / source / libr2c2 / trainrouter.cpp
index 6bd94fccf81dc3faed4fa816a0e5ada19789efdc..b388bb2be9bc1a1062f49ce6d41f7b3e8ee86382 100644 (file)
@@ -237,8 +237,10 @@ void TrainRouter::train_advanced(Block &block)
                if(route.has_track(*b_iter.endpoint().track))
                {
                        routes.pop_front();
+                       const Route *r = get_route();
                        // XXX Exceptions?
-                       signal_event.emit(Message("route-changed", get_route()));
+                       signal_route_changed.emit(r);
+                       signal_event.emit(Message("route-changed", r));
                }
        }
 
@@ -253,6 +255,8 @@ void TrainRouter::train_advanced(Block &block)
                                if(!wp.has_track(*t_iter))
                                {
                                        waypoints.erase(waypoints.begin());
+                                       signal_waypoint_reached.emit(&wp);
+                                       signal_event.emit(Message("waypoint-reached", &wp));
                                        break;
                                }
                                else if(!block.has_track(*t_iter))