]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/train.h
Make AIControl states clearer
[r2c2.git] / source / libr2c2 / train.h
index 99575bf541912fe679bd2c0a6bd66265f5eb4f48..81f0e2a9e86c700a92486fcdce88159fd8966da1 100644 (file)
@@ -22,6 +22,7 @@ class Route;
 class Timetable;
 class Vehicle;
 class VehicleType;
+class Zone;
 
 class Train: public sigc::trackable
 {
@@ -79,6 +80,7 @@ private:
        std::string name;
        int priority;
        const Train *yielding_to;
+       const Train *preceding_train;
        std::vector<Vehicle *> vehicles;
        BlockList blocks;
        BlockList::iterator cur_blocks_end;
@@ -118,6 +120,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 +143,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);