make MagicType name as displayed in filter translatable (see #538).

master
lodici 2016-03-30 14:28:12 +01:00
parent 2ba2eb0e2e
commit c91fa6e28d
3 changed files with 54 additions and 21 deletions

View File

@ -5,30 +5,31 @@ import java.util.EnumSet;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
import magic.translate.UiString;
public enum MagicType { public enum MagicType {
// these are supertypes // these are supertypes
Basic, Basic(MagicTypeStr._SBasic),
Legendary, Legendary(MagicTypeStr._SLegendary),
Ongoing, Ongoing(MagicTypeStr._SOngoing),
Snow, Snow(MagicTypeStr._SSnow),
World, World(MagicTypeStr._SWorld),
// these are card types // these are card types
Artifact, Artifact(MagicTypeStr._SArtifact),
Conspiracy, Conspiracy(MagicTypeStr._SConspiracy),
Creature, Creature(MagicTypeStr._SCreature),
Enchantment, Enchantment(MagicTypeStr._SEnchantment),
Instant, Instant(MagicTypeStr._SInstant),
Land, Land(MagicTypeStr._SLand),
Phenomenon, Phenomenon(MagicTypeStr._SPhenomenon),
Plane, Plane(MagicTypeStr._SPlane),
Planeswalker, Planeswalker(MagicTypeStr._SPlaneswalker),
Scheme, Scheme(MagicTypeStr._SScheme),
Sorcery, Sorcery(MagicTypeStr._SSorcery),
Tribal, Tribal(MagicTypeStr._STribal),
Vanguard, Vanguard(MagicTypeStr._SVanguard),
; ;
public static final Set<MagicType> ALL_CARD_TYPES = EnumSet.range(Artifact, Vanguard); public static final Set<MagicType> ALL_CARD_TYPES = EnumSet.range(Artifact, Vanguard);
@ -62,9 +63,11 @@ public enum MagicType {
); );
private final int mask; private final int mask;
private final String displayName;
private MagicType() { private MagicType(final String aName) {
mask=1<<ordinal(); this.displayName = UiString.get(aName);
mask = 1 << ordinal();
} }
public int getMask() { public int getMask() {
@ -109,4 +112,8 @@ public enum MagicType {
public boolean hasType(final int flags) { public boolean hasType(final int flags) {
return (flags & getMask()) != 0; return (flags & getMask()) != 0;
} }
public String getDisplayName() {
return displayName;
}
} }

View File

@ -0,0 +1,26 @@
package magic.model;
/**
* MagicType translatable strings.
*/
final class MagicTypeStr {
private MagicTypeStr() {}
static final String _SBasic = "Basic";
static final String _SLegendary = "Legendary";
static final String _SOngoing = "Ongoing";
static final String _SSnow = "Snow";
static final String _SWorld = "World";
static final String _SArtifact = "Artifact";
static final String _SConspiracy = "Conspiracy";
static final String _SCreature = "Creature";
static final String _SEnchantment = "Enchantment";
static final String _SInstant = "Instant";
static final String _SLand= "Land";
static final String _SPhenomenon = "Phenomenon";
static final String _SPlane = "Plane";
static final String _SPlaneswalker = "Planeswalker";
static final String _SScheme = "Scheme";
static final String _SSorcery = "Sorcery";
static final String _STribal = "Tribal";
static final String _SVanguard = "Vanguard";
}

View File

@ -590,7 +590,7 @@ public class CardFilterPanel extends TexturedPanel implements ActionListener {
private Object[] getTypeFilterValues() { private Object[] getTypeFilterValues() {
final List<Object> types = new ArrayList<>(); final List<Object> types = new ArrayList<>();
for (MagicType type : MagicType.FILTER_TYPES) { for (MagicType type : MagicType.FILTER_TYPES) {
types.add(type); types.add(type.getDisplayName());
} }
if (!listener.isDeckEditor()) { if (!listener.isDeckEditor()) {
types.add(UiString.get(_S20)); types.add(UiString.get(_S20));