This commit is contained in:
Retera 2022-04-07 17:55:36 -04:00
commit 0e37ed51cc

View File

@ -707,10 +707,7 @@ public class Jass2 {
final Double timeout = arguments.get(1).visit(RealJassValueVisitor.getInstance());
final boolean periodic = arguments.get(2).visit(BooleanJassValueVisitor.getInstance());
final JassFunction handlerFunc = nullable(arguments, 3, JassFunctionJassValueVisitor.getInstance());
if (timer == null) {
return null;
}
if (!timer.isRunning()) {
if ((timer != null) && !timer.isRunning()) {
timer.setTimeoutTime(timeout.floatValue());
timer.setRepeats(periodic);
timer.setHandlerFunc(handlerFunc);
@ -728,6 +725,7 @@ public class Jass2 {
}
});
jassProgramVisitor.getJassNativeManager().createNative("TimerGetRemaining", new JassFunction() {
@Override
public JassValue call(final List<JassValue> arguments, final GlobalScope globalScope,
final TriggerExecutionScope triggerScope) {
@ -2638,6 +2636,16 @@ public class Jass2 {
return null;
}
});
jassProgramVisitor.getJassNativeManager().createNative("GetPlayerState", new JassFunction() {
@Override
public JassValue call(final List<JassValue> arguments, final GlobalScope globalScope,
final TriggerExecutionScope triggerScope) {
final CPlayer player = arguments.get(0).visit(ObjectJassValueVisitor.getInstance());
final CPlayerState whichPlayerState = arguments.get(1).visit(ObjectJassValueVisitor.getInstance());
return new IntegerJassValue(
player.getPlayerState(CommonEnvironment.this.simulation, whichPlayerState));
}
});
jassProgramVisitor.getJassNativeManager().createNative("GetPlayerTechResearched", new JassFunction() {
@Override
public JassValue call(final List<JassValue> arguments, final GlobalScope globalScope,