Поддержка функций make_names_known() и make_names_unknown()

This commit is contained in:
Victor 2015-04-18 17:15:06 +03:00
parent a9d99744b3
commit 86b3bffcee
4 changed files with 22 additions and 0 deletions

View File

@ -66,6 +66,8 @@ public final class Lexer {
KEYWORDS.put("day_time", TokenType.DAY_TIME); KEYWORDS.put("day_time", TokenType.DAY_TIME);
KEYWORDS.put("sunset_time", TokenType.SUNSET_TIME); KEYWORDS.put("sunset_time", TokenType.SUNSET_TIME);
KEYWORDS.put("night_time", TokenType.NIGHT_TIME); KEYWORDS.put("night_time", TokenType.NIGHT_TIME);
KEYWORDS.put("make_names_known", TokenType.MAKE_NAMES_KNOWN);
KEYWORDS.put("make_names_unknown", TokenType.MAKE_NAMES_UNKNOWN);
} }
private final List<Token> tokens; private final List<Token> tokens;

View File

@ -220,6 +220,16 @@ public final class Parser {
return false; return false;
} }
if (match(token, TokenType.MAKE_NAMES_KNOWN) ||
match(token, TokenType.MAKE_NAMES_UNKNOWN)) {
consume(TokenType.LPAREN);
consume(TokenType.RPAREN);
if (token.getType() == TokenType.MAKE_NAMES_KNOWN) {
ViewActivity.getInstance().makeNamesKnown();
} else ViewActivity.getInstance().makeNamesUnknown();
return false;
}
if (match(token, TokenType.WORD)) { if (match(token, TokenType.WORD)) {
if (match(TokenType.EQ)) { if (match(TokenType.EQ)) {
// variable = expression // variable = expression

View File

@ -66,6 +66,8 @@ public enum TokenType {
DAY_TIME, DAY_TIME,
SUNSET_TIME, SUNSET_TIME,
NIGHT_TIME, NIGHT_TIME,
MAKE_NAMES_KNOWN,
MAKE_NAMES_UNKNOWN,
EOF EOF
} }

View File

@ -290,6 +290,14 @@ public final class ViewActivity extends Activity implements TouchGesture.OnTouch
return new SpannableString(html ? Html.fromHtml(edited) : edited); return new SpannableString(html ? Html.fromHtml(edited) : edited);
} }
public void makeNamesKnown() {
characters.makeNamesKnown();
}
public void makeNamesUnknown() {
characters.makeNamesUnknown();
}
public void menu(final Menu menu) { public void menu(final Menu menu) {
Dialogs.with(this).showGameMenu(menu, new DialogInterface.OnClickListener() { Dialogs.with(this).showGameMenu(menu, new DialogInterface.OnClickListener() {
@Override @Override