3 This file is part of R²C²
4 Copyright © 2010 Mikkosoft Productions, Mikko Rasa
5 Distributed under the GPL
8 #ifndef LIBR2C2_AICONTROL_H_
9 #define LIBR2C2_AICONTROL_H_
11 #include <sigc++/trackable.h>
12 #include "controller.h"
18 class AIControl: public Controller, public sigc::trackable
30 Controller *next_ctrl;
35 AIControl(Train &, Controller *);
38 virtual void set_control(const std::string &, float);
39 virtual const Control &get_control(const std::string &) const;
41 virtual float get_speed() const;
42 virtual bool get_reverse() const;
43 virtual float get_braking_distance() const;
45 virtual void tick(const Msp::Time::TimeDelta &);
48 void control_changed(const Control &);