AI: Oczekiwanie z odjazdem z przystanku 20 sec jeśli opóźniony.

This commit is contained in:
antonisauren
2016-08-23 18:14:09 +02:00
parent 466c8dd999
commit 6e4f278f3c

View File

@@ -851,8 +851,8 @@ TCommandType TController::TableUpdate(double &fVelDes, double &fDist, double &fN
} // koniec obsługi przelotu na W4
else
{ // zatrzymanie na W4
if (!eSignNext)
eSignNext = sSpeedTable[i].evEvent;
if (!eSignNext) //jeśli nie widzi następnego sygnału
eSignNext = sSpeedTable[i].evEvent; //ustawia dotychczasową
if (mvOccupied->Vel > 0.3) // jeśli jedzie (nie trzeba czekać, aż się
// drgania wytłumią - drzwi zamykane od 1.0)
sSpeedTable[i].fVelNext = 0; // to będzie zatrzymanie
@@ -983,10 +983,11 @@ TCommandType TController::TableUpdate(double &fVelDes, double &fDist, double &fN
}
if (TrainParams->StationIndex < TrainParams->StationCount)
{ // jeśli są dalsze stacje, czekamy do godziny odjazdu
if (TrainParams->IsTimeToGo(GlobalTime->hh, GlobalTime->mm))
{ // z dalszą akcją czekamy do godziny odjazdu
// if (TrainParams->CheckTrainLatency()<0.0) //jak się ma odjazd
// do czasu odjazdu?
if (TrainParams->CheckTrainLatency() < 0)
WaitingSet(20); //Jak spóźniony to czeka 20s
// iDrivigFlags|=moveLate1; //oflagować, gdy odjazd ze
// spóźnieniem, będzie jechał forsowniej
fLastStopExpDist =
@@ -995,14 +996,12 @@ TCommandType TController::TableUpdate(double &fVelDes, double &fDist, double &fN
// ma przesunąć na następny postój
// Controlled-> //zapisać odległość do przejechania
TrainParams->StationIndexInc(); // przejście do następnej
asNextStop =
TrainParams
->NextStop(); // pobranie kolejnego miejsca zatrzymania
asNextStop = TrainParams->NextStop(); // pobranie kolejnego miejsca zatrzymania
// TableClear(); //aby od nowa sprawdziło W4 z inną nazwą już - to nie jest dobry pomysł
#if LOGSTOPS
WriteLog(pVehicle->asName + " as " + TrainParams->TrainName +
": at " + AnsiString(GlobalTime->hh) + ":" +
AnsiString(GlobalTime->mm) + " next " +
AnsiString(GlobalTime->mm) + " Latency:" + AnsiString(TrainParams->CheckTrainLatency()) + " next " +
asNextStop); // informacja
#endif
if (int(floor(sSpeedTable[i].evEvent->ValueGet(1))) & 1)