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