diff --git a/src/com/annimon/everlastingsummer/Parser.java b/src/com/annimon/everlastingsummer/Parser.java index 6c2b5c8..bd3f7a7 100644 --- a/src/com/annimon/everlastingsummer/Parser.java +++ b/src/com/annimon/everlastingsummer/Parser.java @@ -61,6 +61,11 @@ public final class Parser { 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 (lookMatch(1, TokenType.TEXT) && match(token, TokenType.WORD)) { final String whoid = token.getText(); diff --git a/src/com/annimon/everlastingsummer/ViewActivity.java b/src/com/annimon/everlastingsummer/ViewActivity.java index 00205e1..6e0c65d 100644 --- a/src/com/annimon/everlastingsummer/ViewActivity.java +++ b/src/com/annimon/everlastingsummer/ViewActivity.java @@ -162,6 +162,13 @@ public final class ViewActivity extends Activity { } catch (Exception ioe) {} } + public void hideSprite(String whoid) { + if (!spriteInContainer.containsKey(whoid)) return; + final ImageView img = spriteInContainer.get(whoid); + spriteInContainer.remove(img); + container.removeView(img); + } + @SuppressLint("RtlHardcoded") private void setSpritePosition(ImageView img, FrameLayout.LayoutParams params, String position) { // Позиционирование спрайта. fleft, left, cleft, center, cright, right, fright