Упрощённый синтаксис для play music

This commit is contained in:
Victor 2015-05-04 16:28:12 +03:00
parent 3c90360b8c
commit 703604ceb3

View File

@ -393,11 +393,7 @@ public final class Parser {
} }
private boolean playMusic() { private boolean playMusic() {
consume(TokenType.WORD); final String name = consumeMusicName();
consume(TokenType.LBRACKET);
final String name = consume(TokenType.TEXT).getText();
consume(TokenType.RBRACKET);
final FadeInfo fade = matchFade(); final FadeInfo fade = matchFade();
ViewActivity.getInstance().music(name, fade); ViewActivity.getInstance().music(name, fade);
return false; return false;
@ -733,6 +729,22 @@ public final class Parser {
return "true".equalsIgnoreCase(consume(TokenType.WORD).getText()); return "true".equalsIgnoreCase(consume(TokenType.WORD).getText());
} }
private String consumeMusicName() {
final String name;
if (lookMatch(1, TokenType.LBRACKET)) {
// music_list["music"]
consume(TokenType.WORD);
consume(TokenType.LBRACKET);
name = consume(TokenType.TEXT).getText();
consume(TokenType.RBRACKET);
} else if (lookMatch(0, TokenType.TEXT)) {
name = consume(TokenType.TEXT).getText();
} else {
name = consume(TokenType.WORD).getText();
}
return name;
}
private FadeInfo matchFade() { private FadeInfo matchFade() {
final FadeInfo result = new FadeInfo(); final FadeInfo result = new FadeInfo();
if (match(TokenType.FADEIN)) { if (match(TokenType.FADEIN)) {