added push-pull train condition

This commit is contained in:
Stephan Richter
2020-11-02 00:13:50 +01:00
parent 1749abace9
commit 416a9cd2df
5 changed files with 28 additions and 4 deletions

View File

@@ -92,7 +92,11 @@ public abstract class Condition implements Constants {
}
private static List<Class<? extends Condition>> list() {
return List.of(TrainHasTag.class,TrainSelect.class,TrainLength.class);
return List.of(
PushPullTrain.class,
TrainHasTag.class,
TrainSelect.class,
TrainLength.class);
}
public Tag propForm(HashMap<String, String> params) {
@@ -122,7 +126,7 @@ public abstract class Condition implements Constants {
}
for (Entry<String, String> entry : names.entrySet()) select.addOption(entry.getValue(), entry.getKey());
return select.addTo(new Label(t("Action type:")+NBSP));
return select.addTo(new Label(t("Condition type:")+NBSP));
}
public static String t(String text, Object...fills) {

View File

@@ -0,0 +1,16 @@
package de.srsoftware.web4rail.conditions;
import de.srsoftware.web4rail.actions.Action.Context;
public class PushPullTrain extends Condition {
@Override
public boolean fulfilledBy(Context context) {
return context.train.pushPull != inverted;
}
@Override
public String toString() {
return t(inverted ? "train is not a push-pull train":"train is a push-pull train") ;
}
}

View File

@@ -57,7 +57,7 @@ public class Train implements Comparable<Train>,Constants {
private Direction direction;
private static final String PUSH_PULL = "pushPull";
private boolean pushPull = false;
public boolean pushPull = false;
private static final String CARS = "cars";
private Vector<Car> cars = new Vector<Car>();