mirror of
https://github.com/Anuken/Mindustry.git
synced 2026-01-27 15:02:03 -08:00
40 lines
1.1 KiB
Java
40 lines
1.1 KiB
Java
package mindustry.logic;
|
|
|
|
public enum ConditionOp{
|
|
equal("==", (a, b) -> Math.abs(a - b) < 0.000001, (a, b) -> a == b),
|
|
notEqual("not", (a, b) -> Math.abs(a - b) >= 0.000001, (a, b) -> a != b),
|
|
lessThan("<", (a, b) -> a < b),
|
|
lessThanEq("<=", (a, b) -> a <= b),
|
|
greaterThan(">", (a, b) -> a > b),
|
|
greaterThanEq(">=", (a, b) -> a >= b),
|
|
always("always", (a, b) -> true);
|
|
|
|
public static final ConditionOp[] all = values();
|
|
|
|
public final CondObjOpLambda objFunction;
|
|
public final CondOpLambda function;
|
|
public final String symbol;
|
|
|
|
ConditionOp(String symbol, CondOpLambda function){
|
|
this(symbol, function, null);
|
|
}
|
|
|
|
ConditionOp(String symbol, CondOpLambda function, CondObjOpLambda objFunction){
|
|
this.symbol = symbol;
|
|
this.function = function;
|
|
this.objFunction = objFunction;
|
|
}
|
|
|
|
@Override
|
|
public String toString(){
|
|
return symbol;
|
|
}
|
|
|
|
interface CondObjOpLambda{
|
|
boolean get(Object a, Object b);
|
|
}
|
|
|
|
interface CondOpLambda{
|
|
boolean get(double a, double b);
|
|
}
|
|
}
|