diff --git a/src/com/annimon/everlastingsummer/Parser.java b/src/com/annimon/everlastingsummer/Parser.java index a92775c..83e0efa 100644 --- a/src/com/annimon/everlastingsummer/Parser.java +++ b/src/com/annimon/everlastingsummer/Parser.java @@ -155,11 +155,7 @@ public final class Parser { if (match(token, TokenType.QUEUE)) return queue(); if (match(token, TokenType.STOP)) return stop(); if (match(token, TokenType.SHOW)) return show(); - - if (match(token, TokenType.HIDE)) { - ViewActivity.getInstance().hideSprite(consume(TokenType.WORD).getText()); - return false; - } + if (match(token, TokenType.HIDE)) return hide(); if (match(token, TokenType.JUMP)) return jump(); if (match(token, TokenType.IF)) return ifStatement(); @@ -375,8 +371,15 @@ public final class Parser { if (match(TokenType.AS)) { alias = consume(TokenType.WORD).getText(); } - matchWithEffect(); - ViewActivity.getInstance().sprite(whoid, params, position, alias); + final String effect = matchWithEffect(); + ViewActivity.getInstance().sprite(whoid, params, position, alias, effect); + return false; + } + + private boolean hide() { + final String whoid = consume(TokenType.WORD).getText(); + final String effect = matchWithEffect(); + ViewActivity.getInstance().hideSprite(whoid, effect); return false; } diff --git a/src/com/annimon/everlastingsummer/ViewActivity.java b/src/com/annimon/everlastingsummer/ViewActivity.java index 515bc7b..4c88c45 100644 --- a/src/com/annimon/everlastingsummer/ViewActivity.java +++ b/src/com/annimon/everlastingsummer/ViewActivity.java @@ -305,7 +305,7 @@ public final class ViewActivity extends Activity implements TouchGesture.OnTouch spriteInContainer.clear(); } - public void sprite(String whoid, String params, String position, String alias) { + public void sprite(String whoid, String params, String position, String alias, String effect) { ImageView img; final String key = TextUtils.isEmpty(alias) ? whoid : alias; if (spriteInContainer.containsKey(key)) { @@ -327,7 +327,7 @@ public final class ViewActivity extends Activity implements TouchGesture.OnTouch } } - public void hideSprite(String whoid) { + public void hideSprite(String whoid, String effect) { if (!spriteInContainer.containsKey(whoid)) return; final ImageView img = spriteInContainer.get(whoid); container.removeView(img);