Исправлено некорректное восстановление позиции при загрузке сохранений
This commit is contained in:
parent
dfb05629a0
commit
8e198f3616
@ -35,7 +35,7 @@ public final class Parser {
|
||||
|
||||
private final List<Token> tokens;
|
||||
private final int tokensCount;
|
||||
private int position;
|
||||
private int position, lastPosition;
|
||||
|
||||
private final Map<String, Integer> labels;
|
||||
/** Оптимизация, чтобы каждый раз не искать endmenu/endif,
|
||||
@ -55,6 +55,7 @@ public final class Parser {
|
||||
this.tokens = tokens;
|
||||
tokensCount = tokens.size();
|
||||
this.position = position;
|
||||
lastPosition = position;
|
||||
labels = new HashMap<String, Integer>();
|
||||
hasEndMenu = false;
|
||||
hasEndIf = false;
|
||||
@ -69,6 +70,10 @@ public final class Parser {
|
||||
public int getTokensCount() {
|
||||
return tokensCount;
|
||||
}
|
||||
|
||||
public int getLastPosition() {
|
||||
return lastPosition;
|
||||
}
|
||||
|
||||
public int getPosition() {
|
||||
return position;
|
||||
@ -86,6 +91,7 @@ public final class Parser {
|
||||
}
|
||||
|
||||
public void next() {
|
||||
lastPosition = position;
|
||||
// Команды разделяются на терминальные и нетерминальные.
|
||||
// Нетерминальные подготавливают сцену к выводу.
|
||||
// Терминальные выводят всё на экран и ожидают следующего вызова.
|
||||
|
@ -477,7 +477,7 @@ public final class ViewActivity extends Activity implements TouchGesture.OnTouch
|
||||
final long timestamp = System.currentTimeMillis();
|
||||
final SaveInfo info = new SaveInfo();
|
||||
info.setPath(scriptPath);
|
||||
info.setPosition(Parser.getInstance().getPosition());
|
||||
info.setPosition(Parser.getInstance().getLastPosition());
|
||||
info.setTime(timestamp);
|
||||
info.setVariables(Variables.getVariables());
|
||||
try {
|
||||
|
Loading…
Reference in New Issue
Block a user