]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/aicontrol.cpp
Separate train routing logic to a class derived from TrainAI
[r2c2.git] / source / libr2c2 / aicontrol.cpp
index 3e31aaf638e602412fa8a184dfbde2796dabe41d..6e1c4b16ab9f925471d0769f5bfa53b6ccbc70e6 100644 (file)
@@ -16,7 +16,7 @@ AIControl::AIControl(Train &t):
        state(NORMAL),
        need_update(false)
 {
-       train.signal_arrived.connect(sigc::mem_fun(this, &AIControl::arrived));
+       train.signal_ai_event.connect(sigc::mem_fun(this, &AIControl::event));
 }
 
 void AIControl::set_target_speed(float s)
@@ -104,9 +104,10 @@ void AIControl::tick(const Time::TimeStamp &, const Time::TimeDelta &)
                train.set_active(false);
 }
 
-void AIControl::arrived()
+void AIControl::event(TrainAI &, const Message &ev)
 {
-       set_target_speed(0);
+       if(ev.type=="arrived")
+               set_target_speed(0);
 }
 
 } // namespace R2C2