This commit is contained in:
Stephan Richter
2021-03-18 00:57:10 +01:00
parent de19b8594a
commit 9b9c65542c
9 changed files with 27 additions and 25 deletions

View File

@@ -82,10 +82,6 @@ public class ActionList extends Action implements Iterable<Action>{
public boolean fire(Context context,Object cause) {
for (Action action : actions) {
if (context.invalidated()) {
LOG.debug("Context has been invalidated, aborting {}",this);
return false;
}
LOG.debug("firing \"{}\"",action);
if (!action.fire(context,cause)) {
LOG.warn("{} failed",action);

View File

@@ -13,6 +13,7 @@ public class PreserveRoute extends Action {
@Override
public boolean fire(Context context,Object cause) {
if (context.invalidated()) return false;
Train train = context.train();
Route route = context.route();
// These are errors:

View File

@@ -35,6 +35,7 @@ public class SetSignal extends Action {
@Override
public boolean fire(Context context,Object cause) {
if (context.invalidated()) return false;
if (isNull(signal)) return false;
return signal.state(state);
}

View File

@@ -27,6 +27,7 @@ public class SetSpeed extends Action{
@Override
public boolean fire(Context context,Object cause) {
if (context.invalidated()) return false;
if (isNull(context.train())) return false;
context.train().setSpeed(speed);
return true;

View File

@@ -26,6 +26,7 @@ public class SetTurnout extends Action {
@Override
public boolean fire(Context context,Object cause) {
if (context.invalidated()) return false;
if (isNull(turnout)) return false;
if (!turnout.state(state).succeeded()) return false;
if (turnout.address() == 0) return true;

View File

@@ -570,7 +570,10 @@ public class Train extends BaseClass implements Comparable<Train> {
});
if (json.has(BLOCK)) {// do not move this up! during set, other fields will be referenced!
currentBlock = (Block) plan.get(Id.from(json, BLOCK), false);
if (isSet(currentBlock)) currentBlock.add(Train.this, direction);
if (isSet(currentBlock)) {
currentBlock.setTrain(Train.this);
currentBlock.add(Train.this, direction);
}
}
}
};

View File

@@ -41,9 +41,9 @@ public class BrakeProcess extends BaseClass implements Runnable{
lastSpeed = train.speed;
updateDistance();
if (lastSpeed > targetSpeed) lastSpeed -= 10;
if (lastSpeed < targetSpeed && (ended = true)) lastSpeed = targetSpeed;
if (ended) break;
if (lastSpeed != train.speed) train.setSpeed(lastSpeed);
if (lastSpeed <= targetSpeed && (ended = true)) lastSpeed = targetSpeed;
train.setSpeed(lastSpeed);
}
}