bugfix: conditions not respecting inversion
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user