package magic.data; import java.util.EnumSet; import java.util.Set; public enum MagicIcon { // // ../ui/... icons. // CHECKBOX_OFF("ui/checkbox-16.png"), CHECKBOX_ON("ui/checkbox-selected-16.png"), ARROWDOWN("ui/w_arrowdown.png"), ARROWUP("ui/w_arrowup.png"), ARROW_DOWN("ui/w_down.png"), ARROW_UP("ui/w_up.png"), ARTIFACTS("ui/w_artifacts.png"), BANNED("ui/card_banned.png"), CLEAR("ui/w_clear28.png"), CLOSE("ui/close-24.png"), CREATURES("ui/w_creatures.png"), CUBE("ui/w_cube.png"), CYCLE("ui/w_cycle.png"), DECK("ui/w_deck.png"), EDIT("ui/w_edit.png"), ENCHANTMENTS("ui/w_enchantments.png"), EXPERIENCE("ui/rank-16.png"), FAST_FORWARD("ui/fast-forward-16.png"), FIREMIND("ui/w_firemind.png"), GO_BACK("ui/w_back.png"), GO_NEXT("ui/w_next.png"), HAND_ICON("ui/w_hand.png"), HELP("ui/w_help.png"), ILLEGAL("ui/card_illegal.png"), INSTANTS("ui/w_instants.png"), KEY("ui/w_key16.png"), LANDS("ui/w_lands.png"), LAYOUT("ui/w_layout32D.png"), LEGAL("ui/card_legal.png"), LIFE("ui/w_life.png"), LOG_FILE("ui/w_log16.png"), MARKER("ui/w_marker.png"), MENU("ui/w_menu5@18.png"), MINUS_ICON("ui/w_minus28.png"), MULLIGAN("ui/w_mulligan.png"), OPEN("ui/w_open.png"), OPTIONS("ui/w_book.png"), OPTION_MENU("ui/options-menu-24.png"), PLANESWALKERS("ui/w_planeswalkers.png"), PLUS_ICON("ui/w_plus28.png"), POISON("ui/poison-16.png"), RANDOM("ui/w_random32.png"), REFRESH("ui/w_refresh.png"), RESTRICTED("ui/card_restricted.png"), SAVE("ui/w_save.png"), SCROLL("ui/w_scroll.png"), SHIELD("ui/shield-16.png"), SORCERIES("ui/w_sorceries.png"), STATS("ui/w_stats.png"), SWAP("ui/w_swap.png"), SWITCH("ui/w_switch24.png"), TARGET_ICON("ui/w_target.png"), TILED("ui/w_tiled.png"), AI_THINKING("b_overdrive@80.png"), MISSING("missing2.png"), ANY("any.png"), FOLDER("folder.png"), OK(LEGAL.iconFilename), CANCEL(BANNED.iconFilename), FORWARD("forward.png"), FORWARD2("forward2.png"), START("start.png"), STOP("stop.png"), UNDO("undo.png"), BUSY("busy.gif"), BUSY16("busy16.gif"), ALL("all.gif"), LEFT("left.gif"), RIGHT("right.gif"), CREATURE("creature.png"), ARTIFACT("artifact.png"), ENCHANTMENT("enchantment.png"), INSTANT("instant.png"), SORCERY("sorcery.png"), PLANESWALKER("planeswalker.png"), MULTIPLE("multiple.png"), ABILITY("ability.png"), TRIGGER("trigger.png"), TOKEN("token.png"), LAND("land.png"), PREVENT("prevent.gif"), HAND("hand.gif"), HAND_ZONE("b_hand_zone.png"), LIBRARY_ZONE("b_library_zone.png"), GRAVEYARD("graveyard.gif"), GRAVEYARD_ZONE("b_graveyard_zone.png"), EXILE("exile.png"), EXILE_ZONE("b_exile_zone.png"), DIFFICULTY("difficulty.png"), CANNOTTAP("cannottap.png"), SLEEP("sleep.gif"), REGENERATED("regenerated.gif"), DAMAGE("damage.gif"), COMBAT("combat.gif"), BLOCKED("blocked.gif"), LOSE("lose.png"), TARGET("target.gif"), VALID("valid.gif"), // ability icons FLYING("flying.png"), TRAMPLE("trample.png"), STRIKE("strike.png"), DEATHTOUCH("deathtouch.png"), PROTBLACK("protblack.png"), PROTBLUE("protblue.png"), PROTGREEN("protgreen.png"), PROTRED("protred.png"), PROTWHITE("protwhite.png"), PROTALLCOLORS("protallcolors.png"), DEFENDER("defender.png"), VIGILANCE("vigilance.png"), DOUBLESTRIKE("doublestrike.png"), INFECT("infect.png"), WITHER("wither.png"), LIFELINK("lifelink.png"), REACH("reach.png"), SHROUD("shroud.png"), HEXPROOF("hexproof.png"), FEAR("fear.png"), INTIMIDATE("intimidate.png"), INDESTRUCTIBLE("indestructible.png"), // counters PLUS("plus.png"), MINUS("minus.png"), PLUSTWO("plusTwo.png"), MINUSTWO("minusTwo.png"), PLUSZEROPLUSONE("plusZeroPlusOne.png"), MINUSZEROMINUSONE("minusZeroMinusOne.png"), PLUSZEROPLUSTWO("plusZeroPlusTwo.png"), MINUSZEROMINUSTWO("minusZeroMinusTwo.png"), PLUSONEPLUSZERO("plusOnePlusZero.png"), MINUSONEMINUSZERO("minusOneMinusZero.png"), PLUSONEPLUSTWO("plusOnePlusTwo.png"), PLUSTWOPLUSZERO("plusTwoPlusZero.png"), MINUSTWOMINUSONE("minusTwoMinusOne.png"), CHARGE("charge.png"), FEATHER("feather.gif"), GOLDCOUNTER("goldcounter.png"), BRIBECOUNTER("bribecounter.png"), TIMECOUNTER("time-counter.png"), FADECOUNTER("fade-counter.png"), QUESTCOUNTER("quest-counter.png"), LEVELCOUNTER("level-counter.png"), HOOFPRINTCOUNTER("hoofprint-counter.png"), AGECOUNTER("age-counter.png"), ICECOUNTER("ice-counter.png"), SPORECOUNTER("spore-counter.png"), ARROWHEADCOUNTER("arrowhead-counter.png"), LOYALTYCOUNTER("loyalty-counter.png"), KICOUNTER("ki-counter.png"), DEPLETIONCOUNTER("depletion-counter.png"), MININGCOUNTER("mining-counter.png"), MUSTERCOUNTER("muster-counter.png"), TREASURECOUNTER("treasure-counter.png"), STRIFECOUNTER("strife-counter.png"), STUDYCOUNTER("study-counter.png"), TRAPCOUNTER("trap-counter.png"), SHIELDCOUNTER("shield-counter.png"), WISHCOUNTER("wish-counter.png"), SHELLCOUNTER("shell-counter.png"), BLAZECOUNTER("blaze-counter.png"), TIDECOUNTER("tide-counter.png"), GEMCOUNTER("gem-counter.png"), PRESSURECOUNTER("pressure-counter.png"), VERSECOUNTER("verse-counter.png"), MUSICCOUNTER("verse-counter.png"), RUSTCOUNTER("rust-counter.png"), BLOODCOUNTER("blood-counter.png"), GROWTHCOUNTER("spore-counter.png"), PLAGUECOUNTER("spore-counter.png"), PINCOUNTER("pin-counter.png"), HEALINGCOUNTER("healing-counter.png"), SCREAMCOUNTER("scream-counter.png"), DEVOTIONCOUNTER("devotion-counter.png"), DIVINITYCOUNTER("divinity-counter.png"), DEATHCOUNTER("death-counter.png"), WINDCOUNTER("wind-counter.png"), TOWERCOUNTER("tower-counter.png"), INFECTIONCOUNTER("spore-counter.png"), FUSECOUNTER("fuse-counter.png"), PAGECOUNTER("study-counter.png"), SLEEPCOUNTER("sleep-counter.png"), BRICKCOUNTER("goldcounter.png"), ENERGY("E.png"), MANA_ANY("anymana.gif"), MANA_PHYREXIAN_NULL("P.png"), MANA_UNTAP("Q.png"), MANA_TAP("T.png"), MANA_WHITE("W.png"), MANA_BLUE("U.png"), MANA_BLACK("B.png"), MANA_RED("R.png"), MANA_GREEN("G.png"), MANA_SNOW("S.png"), MANA_COLORLESS("C.png"), MANA_HYBRID_WHITE("2W.png"), MANA_HYBRID_BLUE("2U.png"), MANA_HYBRID_BLACK("2B.png"), MANA_HYBRID_RED("2R.png"), MANA_HYBRID_GREEN("2G.png"), MANA_PHYREXIAN_WHITE("WP.png"), MANA_PHYREXIAN_BLUE("UP.png"), MANA_PHYREXIAN_BLACK("BP.png"), MANA_PHYREXIAN_RED("RP.png"), MANA_PHYREXIAN_GREEN("GP.png"), MANA_WHITE_BLUE("WU.png"), MANA_WHITE_BLACK("WB.png"), MANA_BLUE_BLACK("UB.png"), MANA_BLUE_RED("UR.png"), MANA_BLACK_RED("BR.png"), MANA_BLACK_GREEN("BG.png"), MANA_RED_WHITE("RW.png"), MANA_RED_GREEN("RG.png"), MANA_GREEN_WHITE("GW.png"), MANA_GREEN_BLUE("GU.png"), MANA_0("0.png"), MANA_1("1.png"), MANA_2("2.png"), MANA_3("3.png"), MANA_4("4.png"), MANA_5("5.png"), MANA_6("6.png"), MANA_7("7.png"), MANA_8("8.png"), MANA_9("9.png"), MANA_10("10.png"), MANA_11("11.png"), MANA_12("12.png"), MANA_13("13.png"), MANA_14("14.png"), MANA_15("15.png"), MANA_16("16.png"), MANA_17("17.png"), MANA_18("18.png"), MANA_19("19.png"), MANA_20("20.png"), MANA_X("X.png"); public static final Set<MagicIcon> COLOR_MANA = EnumSet.range(MANA_WHITE, MANA_GREEN); public static final Set<MagicIcon> HYBRID_COLOR_MANA = EnumSet.range(MANA_WHITE_BLUE, MANA_GREEN_BLUE); private static final Set<MagicIcon> MANA_ICONS = EnumSet.range(MANA_UNTAP, MANA_X); public static final Set<MagicIcon> TYPE_ICONS = EnumSet.of(LAND, CREATURE, ARTIFACT, ENCHANTMENT, INSTANT, SORCERY, PLANESWALKER); private final String iconFilename; MagicIcon(String iconFilename) { this.iconFilename = iconFilename; } public String getFilename() { if (iconFilename != null) { return iconFilename; } else { throw new UnsupportedOperationException("Mana icons do not have an associated filename."); } } public boolean isManaIcon() { return MANA_ICONS.contains(this); } }