Layout &layout;
const VehicleType &loco_type;
unsigned address;
+ std::string protocol;
std::string name;
int priority;
const Train *yielding_to;
Controller *controller;
Timetable *timetable;
bool active;
- unsigned current_speed;
+ unsigned current_speed_step;
bool speed_changing;
bool reverse;
Msp::Time::TimeStamp stop_timeout;
float overshoot_dist;
public:
- Train(Layout &, const VehicleType &, unsigned);
+ Train(Layout &, const VehicleType &, unsigned, const std::string &);
~Train();
Layout &get_layout() const { return layout; }
const VehicleType &get_locomotive_type() const { return loco_type; }
unsigned get_address() const { return address; }
+ const std::string &get_protocol() const { return protocol; }
void set_name(const std::string &);
const std::string &get_name() const { return name; }
void set_priority(int);
void check_turnout_paths(bool);
float get_reserved_distance_until(const Block *, bool) const;
float get_real_speed(unsigned) const;
- unsigned find_speed(float) const;
+ unsigned find_speed_step(float) const;
float get_travel_speed() const;
void set_status(const std::string &);
void release_blocks();