From 00899ff4ce4aee24212232b368f535941529a9c9 Mon Sep 17 00:00:00 2001 From: Peter Date: Wed, 31 Jul 2019 11:59:54 +0200 Subject: [PATCH] Extract getting translation texts to CardTranslation --- .../main/java/forge/game/card/CardView.java | 26 +++++++++---------- .../src/forge/card/CardImageRenderer.java | 8 +----- .../main/java/forge/card/CardDetailUtil.java | 10 +------ .../main/java/forge/card/CardTranslation.java | 9 +++++++ 4 files changed, 24 insertions(+), 29 deletions(-) diff --git a/forge-game/src/main/java/forge/game/card/CardView.java b/forge-game/src/main/java/forge/game/card/CardView.java index 27fb5650ec7..d4ee46c80e5 100644 --- a/forge-game/src/main/java/forge/game/card/CardView.java +++ b/forge-game/src/main/java/forge/game/card/CardView.java @@ -520,24 +520,24 @@ public class CardView extends GameEntityView { public String getText() { return getText(getCurrentState(), null); } - public String getText(CardStateView state, String[] translationsText) { + public String getText(CardStateView state, HashMap translationsText) { final StringBuilder sb = new StringBuilder(); //final boolean isSplitCard = (state.getState() == CardStateName.LeftSplit); String tname = "", toracle = "", taltname = "", taltoracle = ""; - if (translationsText == null) { - tname = state.getName(); - toracle = state.getOracleText(); - if (isSplitCard()) { - taltname = getAlternateState().getName(); - taltoracle = getAlternateState().getOracleText(); - } - } else { - if (!translationsText[0].isEmpty()) tname = translationsText[0]; - if (!translationsText[1].isEmpty()) toracle = translationsText[1]; - if (!translationsText[2].isEmpty()) taltname = translationsText[2]; - if (!translationsText[3].isEmpty()) taltoracle = translationsText[3]; + if (translationsText != null) { + tname = translationsText.get("name"); + toracle = translationsText.get("oracle"); + taltname = translationsText.get("altname"); + taltoracle = translationsText.get("altoracle"); + } + + tname = tname.isEmpty() ? state.getName() : tname; + toracle = toracle.isEmpty() ? state.getOracleText() : toracle; + if (isSplitCard()) { + taltname = getAlternateState().getName(); + taltoracle = getAlternateState().getOracleText(); } if (getId() < 0) { diff --git a/forge-gui-mobile/src/forge/card/CardImageRenderer.java b/forge-gui-mobile/src/forge/card/CardImageRenderer.java index e0982461644..ac1e412bce2 100644 --- a/forge-gui-mobile/src/forge/card/CardImageRenderer.java +++ b/forge-gui-mobile/src/forge/card/CardImageRenderer.java @@ -260,13 +260,7 @@ public class CardImageRenderer { g.drawImage(image, x + (w - iconSize) / 2, y + (h - iconSize) / 2, iconSize, iconSize); } else { - String[] translationTexts = { - card.getName(), - CardTranslation.getTranslatedOracle(card.getName()), - card.isSplitCard() ? card.getAlternateState().getName() : "", - card.isSplitCard() ? CardTranslation.getTranslatedOracle(card.getAlternateState().getName()) : "", - }; - final String text = card.getText(state, translationTexts); + final String text = card.getText(state, CardTranslation.getTranslationTexts(state.getName(), "")); if (StringUtils.isEmpty(text)) { return; } float padding = TEXT_FONT.getCapHeight() * 0.75f; diff --git a/forge-gui/src/main/java/forge/card/CardDetailUtil.java b/forge-gui/src/main/java/forge/card/CardDetailUtil.java index af879156934..c64cbcd9155 100644 --- a/forge-gui/src/main/java/forge/card/CardDetailUtil.java +++ b/forge-gui/src/main/java/forge/card/CardDetailUtil.java @@ -279,15 +279,7 @@ public class CardDetailUtil { area.append("\n"); } - - String[] translationTexts = { - card.getName(), - CardTranslation.getTranslatedOracle(card.getName()), - card.isSplitCard() ? card.getAlternateState().getName() : "", - card.isSplitCard() ? CardTranslation.getTranslatedOracle(card.getAlternateState().getName()) : "", - }; - - String text = card.getText(state, translationTexts); + String text = card.getText(state, CardTranslation.getTranslationTexts(state.getName(), "")); // LEVEL [0-9]+-[0-9]+ // LEVEL [0-9]+\+ diff --git a/forge-gui/src/main/java/forge/card/CardTranslation.java b/forge-gui/src/main/java/forge/card/CardTranslation.java index 359ce230093..b63ad2693cb 100644 --- a/forge-gui/src/main/java/forge/card/CardTranslation.java +++ b/forge-gui/src/main/java/forge/card/CardTranslation.java @@ -65,6 +65,15 @@ public class CardTranslation { return ""; } + public static HashMap getTranslationTexts(String cardname, String altcardname) { + HashMap translations = new HashMap(); + translations.put("name", getTranslatedName(cardname)); + translations.put("oracle", getTranslatedOracle(cardname)); + translations.put("altname", getTranslatedName(altcardname)); + translations.put("altoracle", getTranslatedOracle(altcardname)); + return translations; + } + private static boolean needsTranslation() { return !languageSelected.equals("en-US"); }