From 043a7af086a191402a1aa6a76ed401b6312fca8c Mon Sep 17 00:00:00 2001 From: Oleg Agafonov Date: Tue, 5 Feb 2019 13:05:10 +0400 Subject: [PATCH] Added condition hints with good/bad icons for cards --- .../mage/client/util/gui/GuiDisplayUtil.java | 58 ++++++++------- .../org/mage/card/arcane/ManaSymbols.java | 70 ++++++++---------- Mage.Client/src/main/resources/hint/bad.png | Bin 0 -> 6398 bytes .../src/main/resources/hint/bad_old.png | Bin 0 -> 3640 bytes Mage.Client/src/main/resources/hint/good.png | Bin 0 -> 6504 bytes .../src/main/resources/hint/good_old.png | Bin 0 -> 2855 bytes Mage.Sets/src/mage/cards/a/ArchOfOrazca.java | 7 +- .../java/mage/abilities/hint/HintUtils.java | 5 +- 8 files changed, 70 insertions(+), 70 deletions(-) create mode 100644 Mage.Client/src/main/resources/hint/bad.png create mode 100644 Mage.Client/src/main/resources/hint/bad_old.png create mode 100644 Mage.Client/src/main/resources/hint/good.png create mode 100644 Mage.Client/src/main/resources/hint/good_old.png diff --git a/Mage.Client/src/main/java/mage/client/util/gui/GuiDisplayUtil.java b/Mage.Client/src/main/java/mage/client/util/gui/GuiDisplayUtil.java index 2261c9e2a7..9f41899a3a 100644 --- a/Mage.Client/src/main/java/mage/client/util/gui/GuiDisplayUtil.java +++ b/Mage.Client/src/main/java/mage/client/util/gui/GuiDisplayUtil.java @@ -1,14 +1,9 @@ package mage.client.util.gui; -import java.awt.*; -import java.util.ArrayList; -import java.util.Locale; -import javax.swing.*; -import mage.client.dialog.PreferencesDialog; -import static mage.client.dialog.PreferencesDialog.KEY_MAGE_PANEL_LAST_SIZE; import mage.client.MageFrame; +import mage.client.dialog.PreferencesDialog; +import mage.client.table.PlayersChatPanel; import mage.client.util.GUISizeHelper; -import mage.client.table.*; import mage.constants.*; import mage.view.CardView; import mage.view.CounterView; @@ -17,6 +12,13 @@ import org.jdesktop.swingx.JXPanel; import org.mage.card.arcane.ManaSymbols; import org.mage.card.arcane.UI; +import javax.swing.*; +import java.awt.*; +import java.util.ArrayList; +import java.util.Locale; + +import static mage.client.dialog.PreferencesDialog.KEY_MAGE_PANEL_LAST_SIZE; + public final class GuiDisplayUtil { private static final Font cardNameFont = new Font("Calibri", Font.BOLD, 15); @@ -30,32 +32,32 @@ public final class GuiDisplayUtil { } public static void restoreDividerLocations(Rectangle bounds, String lastDividerLocation, JComponent component) { - String currentBounds = Double.toString(bounds.getWidth()) + 'x' + Double.toString(bounds.getHeight()); - String savedBounds = PreferencesDialog.getCachedValue(KEY_MAGE_PANEL_LAST_SIZE, null); - // use divider positions only if screen size is the same as it was the time the settings were saved - if (savedBounds != null && savedBounds.equals(currentBounds)) { - if (lastDividerLocation != null && component != null) { - if (component instanceof JSplitPane) { - JSplitPane jSplitPane = (JSplitPane) component; - jSplitPane.setDividerLocation(Integer.parseInt(lastDividerLocation)); - } + String currentBounds = Double.toString(bounds.getWidth()) + 'x' + bounds.getHeight(); + String savedBounds = PreferencesDialog.getCachedValue(KEY_MAGE_PANEL_LAST_SIZE, null); + // use divider positions only if screen size is the same as it was the time the settings were saved + if (savedBounds != null && savedBounds.equals(currentBounds)) { + if (lastDividerLocation != null && component != null) { + if (component instanceof JSplitPane) { + JSplitPane jSplitPane = (JSplitPane) component; + jSplitPane.setDividerLocation(Integer.parseInt(lastDividerLocation)); + } - if (component instanceof PlayersChatPanel) { - PlayersChatPanel playerChatPanel = (PlayersChatPanel) component; - playerChatPanel.setSplitDividerLocation(Integer.parseInt(lastDividerLocation)); - } + if (component instanceof PlayersChatPanel) { + PlayersChatPanel playerChatPanel = (PlayersChatPanel) component; + playerChatPanel.setSplitDividerLocation(Integer.parseInt(lastDividerLocation)); + } + } } - } } public static void saveCurrentBoundsToPrefs() { - Rectangle rec = MageFrame.getDesktop().getBounds(); - String currentBounds = Double.toString(rec.getWidth()) + 'x' + Double.toString(rec.getHeight()); - PreferencesDialog.saveValue(KEY_MAGE_PANEL_LAST_SIZE, currentBounds); + Rectangle rec = MageFrame.getDesktop().getBounds(); + String currentBounds = Double.toString(rec.getWidth()) + 'x' + rec.getHeight(); + PreferencesDialog.saveValue(KEY_MAGE_PANEL_LAST_SIZE, currentBounds); } public static void saveDividerLocationToPrefs(String dividerPrefKey, int position) { - PreferencesDialog.saveValue(dividerPrefKey, Integer.toString(position)); + PreferencesDialog.saveValue(dividerPrefKey, Integer.toString(position)); } public static JXPanel getDescription(CardView card, int width, int height) { @@ -204,6 +206,10 @@ public final class GuiDisplayUtil { return textLines; } + public static String getHintIconHtml(String iconName, int symbolSize) { + return "" + iconName + ""; + } + public static StringBuilder getRulefromCardView(CardView card, TextLines textLines) { String manaCost = ""; for (String m : card.getManaCost()) { @@ -236,7 +242,7 @@ public final class GuiDisplayUtil { buffer.append(""); buffer.append(card.getDisplayName()); if (card.isGameObject()) { - buffer.append(" [").append(card.getId().toString().substring(0, 3)).append(']'); + buffer.append(" [").append(card.getId().toString(), 0, 3).append(']'); } buffer.append("OWT}C1M}~005+#8Y+gkZ`gk?m;l%I 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 literal 0 HcmV?d00001 diff --git a/Mage.Client/src/main/resources/hint/bad_old.png b/Mage.Client/src/main/resources/hint/bad_old.png new file mode 100644 index 0000000000000000000000000000000000000000..6b4497d5efbf2f24e1ec4337d09f4d0d08b22529 GIT binary patch literal 3640 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 literal 0 HcmV?d00001 diff --git a/Mage.Client/src/main/resources/hint/good.png b/Mage.Client/src/main/resources/hint/good.png new file mode 100644 index 0000000000000000000000000000000000000000..14a87bd4a378d0ff18656195437806f3ca1e7bd2 GIT binary patch literal 6504 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 A@c;k- literal 0 HcmV?d00001 diff --git a/Mage.Sets/src/mage/cards/a/ArchOfOrazca.java b/Mage.Sets/src/mage/cards/a/ArchOfOrazca.java index e82387ae22..5d1beadcc0 100644 --- a/Mage.Sets/src/mage/cards/a/ArchOfOrazca.java +++ b/Mage.Sets/src/mage/cards/a/ArchOfOrazca.java @@ -1,13 +1,12 @@ - package mage.cards.a; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.condition.common.CitysBlessingCondition; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.decorator.ConditionalActivatedAbility; import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.hint.ConditionHint; import mage.abilities.keyword.AscendAbility; import mage.abilities.mana.ColorlessManaAbility; import mage.cards.CardImpl; @@ -15,8 +14,9 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Zone; +import java.util.UUID; + /** - * * @author LevelX2 */ public final class ArchOfOrazca extends CardImpl { @@ -36,6 +36,7 @@ public final class ArchOfOrazca extends CardImpl { new GenericManaCost(5), CitysBlessingCondition.instance); ability.addCost(new TapSourceCost()); + ability.addHint(new ConditionHint(CitysBlessingCondition.instance, "Have city's blessing")); this.addAbility(ability); } diff --git a/Mage/src/main/java/mage/abilities/hint/HintUtils.java b/Mage/src/main/java/mage/abilities/hint/HintUtils.java index 7351bf1a86..554d599c61 100644 --- a/Mage/src/main/java/mage/abilities/hint/HintUtils.java +++ b/Mage/src/main/java/mage/abilities/hint/HintUtils.java @@ -7,8 +7,9 @@ import java.awt.*; */ public class HintUtils { - public static final String HINT_ICON_GOOD = " GOOD_ICON "; // TODO: icon - public static final String HINT_ICON_BAD = " BAD_ICON "; // TODO: icon + // icons changes to real files on client side (see mana icons replacement) + public static final String HINT_ICON_GOOD = "ICON_GOOD"; + public static final String HINT_ICON_BAD = "ICON_BAD"; public static String prepareText(String text, Color color) { return prepareText(text, color, null);