SteamWar/BauSystem2.0
Archiviert
12
0
Dieser Commit ist enthalten in:
yoyosource 2021-04-28 07:42:45 +02:00
Ursprung 1e9f7e7cf1
Commit 91cc6bc64c

Datei anzeigen

@ -40,6 +40,16 @@ public class If implements SpecialCommand {
return true; return true;
} }
if (command[2].equals("exists")) {
if (scriptExecutor.isVariable(command[1])) {
setIndex(scriptExecutor, command[3]);
} else {
if (command.length > 4) {
setIndex(scriptExecutor, command[4]);
}
}
}
Value v1 = scriptExecutor.getOrItselfValue(command[1]); Value v1 = scriptExecutor.getOrItselfValue(command[1]);
Value v2 = scriptExecutor.getOrItselfValue(command[2]); Value v2 = scriptExecutor.getOrItselfValue(command[2]);
if (v1.getClass() != v2.getClass()) { if (v1.getClass() != v2.getClass()) {
@ -50,10 +60,17 @@ public class If implements SpecialCommand {
return true; return true;
} }
if (v1.asString().equals(v2.asString())) { if (v1.asString().equals(v2.asString())) {
scriptExecutor.setIndex((int) asLong(command[3])); setIndex(scriptExecutor, command[3]);
} else if (command.length > 4) { } else if (command.length > 4) {
scriptExecutor.setIndex((int) asLong(command[4])); setIndex(scriptExecutor, command[4]);
} }
return true; return true;
} }
private void setIndex(ScriptExecutor scriptExecutor, String name) {
int jp = scriptExecutor.jumpPoints.getOrDefault(name, -1);
if (jp != -1) {
scriptExecutor.setIndex(jp);
}
}
} }