bugfix: conditions not respecting inversion

This commit is contained in:
Stephan Richter
2020-11-01 19:09:05 +01:00
parent c790e8e8db
commit 6ed1255076
7 changed files with 9 additions and 8 deletions

View File

@@ -29,7 +29,6 @@ public abstract class Condition implements Constants {
private static final String INVERTED = "inverted";
private static final String PREFIX = Condition.class.getPackageName();
private static HashMap<Integer, Condition> conditions = new HashMap<Integer, Condition>();
public abstract boolean fulfilledBy(Context context);
public boolean inverted = false;
protected int id;
@@ -70,6 +69,8 @@ public abstract class Condition implements Constants {
return null;
}
public abstract boolean fulfilledBy(Context context);
public int id() {
return id;
}

View File

@@ -17,7 +17,7 @@ public class TrainHasTag extends Condition {
@Override
public boolean fulfilledBy(Context context) {
if (tag == null) return true;
return context.train.tags().contains(tag);
return context.train.tags().contains(tag) != inverted;
}
@Override

View File

@@ -17,7 +17,7 @@ public class TrainLength extends Condition {
@Override
public boolean fulfilledBy(Context context) {
return context.train.length() < maxLength;
return (context.train.length() < maxLength) != inverted;
}
@Override

View File

@@ -16,7 +16,7 @@ public class TrainSelect extends Condition {
@Override
public boolean fulfilledBy(Context context) {
return context.train == train;
return (context.train == train) != inverted;
}
@Override