]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/trainrouter.h
Make some internal colors darker to match linear color space
[r2c2.git] / source / libr2c2 / trainrouter.h
index 835ec484737761663da76d30eb97246d0a6178bd..c7c1be18b9a6f5cd55f00c632f049f253bf4e436 100644 (file)
@@ -48,10 +48,11 @@ public:
 private:
        typedef std::list<const Route *> RouteList;
 
-       enum ArrivalState
+       enum TravelState
        {
                ON_THE_WAY,
                WAITING_FOR_SEQUENCE,
+               SEQUENCE_CHECK_PENDING,
                RESERVED_TO_END,
                ADVANCED_TO_END,
                ARRIVED
@@ -59,6 +60,7 @@ private:
 
 public:
        sigc::signal<void, const Route *> signal_route_changed;
+       sigc::signal<void> signal_departed;
        sigc::signal<void, const TrackChain *> signal_arrived;
        sigc::signal<void, const TrackChain *> signal_waypoint_reached;
 
@@ -66,14 +68,13 @@ private:
        int priority;
        RouteList routes;
        RouteList::iterator reserving_route;
-       ArrivalState arrival;
+       TravelState state;
        std::vector<Waypoint> waypoints;
        bool waypoints_changed;
        std::vector<TrainRouteMetric *> metrics;
        bool metrics_stale;
        std::list<SequencePoint> sequence_points;
        unsigned current_sequence;
-       bool sequence_check_pending;
        Msp::Time::TimeDelta delay;
        Msp::Time::TimeDelta duration;
        Msp::RefPtr<TrainRoutePlanner> planner;
@@ -118,7 +119,7 @@ private:
        bool create_lead_route();
        bool advance_to_track(RouteList::iterator &, const TrackIter &);
 
-       static void get_routers(Layout &, std::vector<TrainRouter *> &);
+       static void get_routers(Layout &, std::vector<TrainRouter *> &, TrainRoutePlanner * = 0);
        static void start_planning(Layout &);
        static void apply_plan(Layout &, TrainRoutePlanner &);
 };