Поддержка функции meet/set_name для задания имени персонажа
This commit is contained in:
parent
86b3bffcee
commit
89df31b629
@ -68,6 +68,8 @@ public final class Lexer {
|
|||||||
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_known", TokenType.MAKE_NAMES_KNOWN);
|
||||||
KEYWORDS.put("make_names_unknown", TokenType.MAKE_NAMES_UNKNOWN);
|
KEYWORDS.put("make_names_unknown", TokenType.MAKE_NAMES_UNKNOWN);
|
||||||
|
KEYWORDS.put("set_name", TokenType.SET_NAME);
|
||||||
|
KEYWORDS.put("meet", TokenType.SET_NAME);
|
||||||
}
|
}
|
||||||
|
|
||||||
private final List<Token> tokens;
|
private final List<Token> tokens;
|
||||||
|
@ -230,6 +230,16 @@ public final class Parser {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (match(token, TokenType.SET_NAME)) {
|
||||||
|
consume(TokenType.LPAREN);
|
||||||
|
final String whoid = consume(TokenType.TEXT).getText();
|
||||||
|
// TODO: consume(TokenType.COMMA)
|
||||||
|
final String name = consume(TokenType.TEXT).getText();
|
||||||
|
consume(TokenType.RPAREN);
|
||||||
|
ViewActivity.getInstance().meet(whoid, name);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if (match(token, TokenType.WORD)) {
|
if (match(token, TokenType.WORD)) {
|
||||||
if (match(TokenType.EQ)) {
|
if (match(TokenType.EQ)) {
|
||||||
// variable = expression
|
// variable = expression
|
||||||
|
@ -68,6 +68,7 @@ public enum TokenType {
|
|||||||
NIGHT_TIME,
|
NIGHT_TIME,
|
||||||
MAKE_NAMES_KNOWN,
|
MAKE_NAMES_KNOWN,
|
||||||
MAKE_NAMES_UNKNOWN,
|
MAKE_NAMES_UNKNOWN,
|
||||||
|
SET_NAME,
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
|
@ -298,6 +298,10 @@ public final class ViewActivity extends Activity implements TouchGesture.OnTouch
|
|||||||
characters.makeNamesUnknown();
|
characters.makeNamesUnknown();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void meet(String whoid, String name) {
|
||||||
|
characters.setName(whoid, name);
|
||||||
|
}
|
||||||
|
|
||||||
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
|
||||||
|
Loading…
Reference in New Issue
Block a user