X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibr2c2%2Ftrain.h;h=48ee867a597c7c22e56045dc88df27a7b29bf88c;hb=598631d530a20ba8f4710f45747a9742e149f604;hp=99575bf541912fe679bd2c0a6bd66265f5eb4f48;hpb=1ff06c5bc46a677fa389ef86c6b26664368f1653;p=r2c2.git diff --git a/source/libr2c2/train.h b/source/libr2c2/train.h index 99575bf..48ee867 100644 --- a/source/libr2c2/train.h +++ b/source/libr2c2/train.h @@ -22,6 +22,7 @@ class Route; class Timetable; class Vehicle; class VehicleType; +class Zone; class Train: public sigc::trackable { @@ -49,6 +50,7 @@ public: sigc::signal signal_control_changed; sigc::signal signal_function_changed; sigc::signal signal_route_changed; + sigc::signal signal_advanced; sigc::signal signal_arrived; sigc::signal signal_status_changed; @@ -79,6 +81,7 @@ private: std::string name; int priority; const Train *yielding_to; + const Train *preceding_train; std::vector vehicles; BlockList blocks; BlockList::iterator cur_blocks_end; @@ -118,6 +121,7 @@ public: void set_priority(int); void yield_to(const Train &); int get_priority() const { return priority; } + const Train *get_preceding_train() const { return preceding_train; } Controller &get_controller() const { return *controller; } void add_vehicle(const VehicleType &); @@ -140,6 +144,7 @@ public: bool set_route(const Route *); bool go_to(Track &); + bool go_to(const Zone &); bool divert(Track &); const Route *get_route() const; void place(Block &, unsigned);