Добавлена поддержка hard пауз
This commit is contained in:
parent
d454d99d62
commit
76fcda0728
@ -217,8 +217,14 @@ public final class Parser {
|
|||||||
if (match(token, TokenType.RENPY_PAUSE)) {
|
if (match(token, TokenType.RENPY_PAUSE)) {
|
||||||
consume(TokenType.LPAREN);
|
consume(TokenType.LPAREN);
|
||||||
final double pause = consumeDouble();
|
final double pause = consumeDouble();
|
||||||
ViewActivity.getInstance().pause((int)(1000 * pause));
|
boolean hard = false;
|
||||||
|
if (!lookMatch(0, TokenType.RPAREN)) {
|
||||||
|
consume(TokenType.WORD); // hard
|
||||||
|
consume(TokenType.EQ);
|
||||||
|
hard = consumeBoolean();
|
||||||
|
}
|
||||||
consume(TokenType.RPAREN);
|
consume(TokenType.RPAREN);
|
||||||
|
ViewActivity.getInstance().pause((int)(1000 * pause), hard);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -700,6 +706,10 @@ public final class Parser {
|
|||||||
return Double.parseDouble(consume(TokenType.NUMBER).getText());
|
return Double.parseDouble(consume(TokenType.NUMBER).getText());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean consumeBoolean() {
|
||||||
|
return "true".equalsIgnoreCase(consume(TokenType.WORD).getText());
|
||||||
|
}
|
||||||
|
|
||||||
private FadeInfo matchFade() {
|
private FadeInfo matchFade() {
|
||||||
final FadeInfo result = new FadeInfo();
|
final FadeInfo result = new FadeInfo();
|
||||||
if (match(TokenType.FADEIN)) {
|
if (match(TokenType.FADEIN)) {
|
||||||
|
@ -57,6 +57,8 @@ public final class ViewActivity extends Activity implements TouchGesture.OnTouch
|
|||||||
private Characters characters;
|
private Characters characters;
|
||||||
private Map<String, ImageView> spriteInContainer;
|
private Map<String, ImageView> spriteInContainer;
|
||||||
private DisplayMetrics displayMetrics;
|
private DisplayMetrics displayMetrics;
|
||||||
|
|
||||||
|
private boolean blockTap;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
@ -147,7 +149,7 @@ public final class ViewActivity extends Activity implements TouchGesture.OnTouch
|
|||||||
public void onTouchGesture(TouchGestureType type) {
|
public void onTouchGesture(TouchGestureType type) {
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case SINGLE_TAP:
|
case SINGLE_TAP:
|
||||||
Parser.getInstance().next();
|
if (!blockTap) Parser.getInstance().next();
|
||||||
break;
|
break;
|
||||||
case SWIPE:
|
case SWIPE:
|
||||||
Dialogs.with(this).showMenu(R.array.menu_items, menu);
|
Dialogs.with(this).showMenu(R.array.menu_items, menu);
|
||||||
@ -194,6 +196,7 @@ public final class ViewActivity extends Activity implements TouchGesture.OnTouch
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void background(String type, String name, String effect) {
|
public void background(String type, String name, String effect) {
|
||||||
|
text("");
|
||||||
spritesClear();
|
spritesClear();
|
||||||
if (name.equalsIgnoreCase("black")) background.setImageResource(android.R.color.black);
|
if (name.equalsIgnoreCase("black")) background.setImageResource(android.R.color.black);
|
||||||
else if (name.equalsIgnoreCase("white")) background.setImageResource(android.R.color.white);
|
else if (name.equalsIgnoreCase("white")) background.setImageResource(android.R.color.white);
|
||||||
@ -280,8 +283,8 @@ public final class ViewActivity extends Activity implements TouchGesture.OnTouch
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void pause(final long duration) {
|
public void pause(final long duration, final boolean hard) {
|
||||||
text("");
|
blockTap = hard;
|
||||||
new Thread(new Runnable() {
|
new Thread(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
@ -489,6 +492,7 @@ public final class ViewActivity extends Activity implements TouchGesture.OnTouch
|
|||||||
private final Runnable nextCommandRunnable = new Runnable() {
|
private final Runnable nextCommandRunnable = new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
|
blockTap = false;
|
||||||
Parser.getInstance().next();
|
Parser.getInstance().next();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user