ControlModel *next_model;
TrainControl target_speed;
bool blocked;
+ bool approach;
public:
AIControl(Train &, ControlModel *);
virtual const TrainControl &get_control(const std::string &) const;
virtual float get_speed() const;
+ virtual bool get_reverse() const;
virtual float get_braking_distance() const;
virtual void tick(const Msp::Time::TimeDelta &);
private:
+ void control_changed(const TrainControl &);
void arrived();
};