TrainState state;
Msp::Time::TimeDelta delay;
int waypoint;
+ float distance_traveled;
float remaining_estimate;
+ Msp::Time::TimeDelta wait_time;
int blocked_by;
TrainRoutingState(TrainRoutingInfo &);
bool is_occupying(Track &) const;
bool check_arrival();
void advance(float);
+ void advance(const Msp::Time::TimeDelta &);
void advance_track(unsigned);
void update_estimate();
};
struct RoutingStep
{
Msp::Time::TimeDelta time;
- Msp::Time::TimeDelta total_estimate;
+ Msp::Time::TimeDelta cost_estimate;
std::vector<TrainRoutingState> trains;
const RoutingStep *prev;