bool MSContainer::proceed(MSNet* net, SUMOTime time) { Stage* prior = *myStep; prior->setArrived(time); myStep++; if (myStep != myPlan->end()) { (*myStep)->proceed(net, this, time, prior); return true; } else { prior->getEdge()->removeContainer(this); return false; } }
bool MSContainer::proceed(MSNet* net, SUMOTime time) { Stage* prior = *myStep; prior->setArrived(time); // must be done before increasing myStep to avoid invalid state for rendering prior->getEdge()->removeContainer(this); myStep++; if (myStep != myPlan->end()) { (*myStep)->proceed(net, this, time, prior); return true; } else { return false; } }