Поддержка псевдонима для спрайта
This commit is contained in:
parent
e728a91ff5
commit
0a2718a3fd
@ -41,6 +41,7 @@ public final class Lexer {
|
|||||||
KEYWORDS.put("bg", TokenType.BG);
|
KEYWORDS.put("bg", TokenType.BG);
|
||||||
KEYWORDS.put("cg", TokenType.CG);
|
KEYWORDS.put("cg", TokenType.CG);
|
||||||
KEYWORDS.put("at", TokenType.AT);
|
KEYWORDS.put("at", TokenType.AT);
|
||||||
|
KEYWORDS.put("as", TokenType.AS);
|
||||||
KEYWORDS.put("window", TokenType.WINDOW);
|
KEYWORDS.put("window", TokenType.WINDOW);
|
||||||
KEYWORDS.put("hide", TokenType.HIDE);
|
KEYWORDS.put("hide", TokenType.HIDE);
|
||||||
KEYWORDS.put("show", TokenType.SHOW);
|
KEYWORDS.put("show", TokenType.SHOW);
|
||||||
|
@ -271,8 +271,13 @@ public final class Parser {
|
|||||||
if (match(TokenType.AT)) {
|
if (match(TokenType.AT)) {
|
||||||
position = consume(TokenType.WORD).getText();
|
position = consume(TokenType.WORD).getText();
|
||||||
}
|
}
|
||||||
|
// Псевдоним (для показа одно и того же спрайта в разных местах)
|
||||||
|
String alias = "";
|
||||||
|
if (match(TokenType.AS)) {
|
||||||
|
alias = consume(TokenType.WORD).getText();
|
||||||
|
}
|
||||||
matchWithEffect();
|
matchWithEffect();
|
||||||
ViewActivity.getInstance().sprite(whoid, params, position);
|
ViewActivity.getInstance().sprite(whoid, params, position, alias);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -43,6 +43,7 @@ public enum TokenType {
|
|||||||
SHOW,
|
SHOW,
|
||||||
|
|
||||||
AT,
|
AT,
|
||||||
|
AS,
|
||||||
WITH,
|
WITH,
|
||||||
|
|
||||||
MENU,
|
MENU,
|
||||||
|
@ -202,13 +202,14 @@ public final class ViewActivity extends Activity implements TouchGesture.OnTouch
|
|||||||
spriteInContainer.clear();
|
spriteInContainer.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void sprite(String whoid, String params, String position) {
|
public void sprite(String whoid, String params, String position, String alias) {
|
||||||
ImageView img;
|
ImageView img;
|
||||||
if (spriteInContainer.containsKey(whoid)) {
|
final String key = TextUtils.isEmpty(alias) ? whoid : alias;
|
||||||
img = spriteInContainer.get(whoid);
|
if (spriteInContainer.containsKey(key)) {
|
||||||
|
img = spriteInContainer.get(key);
|
||||||
} else {
|
} else {
|
||||||
img = new ImageView(this);
|
img = new ImageView(this);
|
||||||
spriteInContainer.put(whoid, img);
|
spriteInContainer.put(key, img);
|
||||||
}
|
}
|
||||||
final FrameLayout.LayoutParams flp = new FrameLayout.LayoutParams(
|
final FrameLayout.LayoutParams flp = new FrameLayout.LayoutParams(
|
||||||
FrameLayout.LayoutParams.WRAP_CONTENT, FrameLayout.LayoutParams.MATCH_PARENT);
|
FrameLayout.LayoutParams.WRAP_CONTENT, FrameLayout.LayoutParams.MATCH_PARENT);
|
||||||
|
Loading…
Reference in New Issue
Block a user