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)
set_reverse(!reverse);
}
-void AIControl::tick(const Time::TimeStamp &, const Time::TimeDelta &)
+void AIControl::tick(const Time::TimeDelta &)
{
float scale = train.get_layout().get_catalogue().get_scale();
float rsv_dist = train.get_reserved_distance();
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