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.List;
import java.util.Set;
import magic.translate.UiString;
public enum MagicType {
// these are supertypes
Basic,
Legendary,
Ongoing,
Snow,
World,
Basic(MagicTypeStr._SBasic),
Legendary(MagicTypeStr._SLegendary),
Ongoing(MagicTypeStr._SOngoing),
Snow(MagicTypeStr._SSnow),
World(MagicTypeStr._SWorld),
// these are card types
Artifact,
Conspiracy,
Creature,
Enchantment,
Instant,
Land,
Phenomenon,
Plane,
Planeswalker,
Scheme,
Sorcery,
Tribal,
Vanguard,
Artifact(MagicTypeStr._SArtifact),
Conspiracy(MagicTypeStr._SConspiracy),
Creature(MagicTypeStr._SCreature),
Enchantment(MagicTypeStr._SEnchantment),
Instant(MagicTypeStr._SInstant),
Land(MagicTypeStr._SLand),
Phenomenon(MagicTypeStr._SPhenomenon),
Plane(MagicTypeStr._SPlane),
Planeswalker(MagicTypeStr._SPlaneswalker),
Scheme(MagicTypeStr._SScheme),
Sorcery(MagicTypeStr._SSorcery),
Tribal(MagicTypeStr._STribal),
Vanguard(MagicTypeStr._SVanguard),
;
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 String displayName;
private MagicType() {
mask=1<<ordinal();
private MagicType(final String aName) {
this.displayName = UiString.get(aName);
mask = 1 << ordinal();
}
public int getMask() {
@ -109,4 +112,8 @@ public enum MagicType {
public boolean hasType(final int flags) {
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() {
final List<Object> types = new ArrayList<>();
for (MagicType type : MagicType.FILTER_TYPES) {
types.add(type);
types.add(type.getDisplayName());
}
if (!listener.isDeckEditor()) {
types.add(UiString.get(_S20));