1
0
Fork 0
mirror of https://github.com/correl/mage.git synced 2025-04-13 09:11:06 -09:00

change HashMap to EnumMap

This commit is contained in:
Ingmar Goudt 2018-12-29 10:30:40 +01:00
parent cc2871a356
commit 799fe34b02
2 changed files with 15 additions and 15 deletions
Mage/src/main/java/mage
abilities/costs/mana
players

View file

@ -6,6 +6,7 @@ import mage.ManaSymbol;
import mage.constants.ColoredManaSymbol; import mage.constants.ColoredManaSymbol;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.EnumMap;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
@ -16,7 +17,7 @@ import java.util.Map;
*/ */
public class ManaSymbols extends ArrayList<ManaSymbol> { public class ManaSymbols extends ArrayList<ManaSymbol> {
private final static Map<ColoredManaSymbol, ManaSymbol> coloredManaMap = new HashMap<ColoredManaSymbol, ManaSymbol>() {{ private final static Map<ColoredManaSymbol, ManaSymbol> coloredManaMap = new EnumMap<ColoredManaSymbol, ManaSymbol>(ColoredManaSymbol.class) {{
put(ColoredManaSymbol.W, ManaSymbol.W); put(ColoredManaSymbol.W, ManaSymbol.W);
put(ColoredManaSymbol.U, ManaSymbol.U); put(ColoredManaSymbol.U, ManaSymbol.U);
put(ColoredManaSymbol.B, ManaSymbol.B); put(ColoredManaSymbol.B, ManaSymbol.B);
@ -28,23 +29,22 @@ public class ManaSymbols extends ArrayList<ManaSymbol> {
* Contains all possible hybrid mana costs (each represents different hybrid mana symbol) * Contains all possible hybrid mana costs (each represents different hybrid mana symbol)
* We'll use it for converting from hybrid mana cost to hybrid mana symbol. * We'll use it for converting from hybrid mana cost to hybrid mana symbol.
*/ */
private final static Map<ManaSymbol, HybridManaCost> hybridManaMap = new HashMap<>(); private final static Map<ManaSymbol, HybridManaCost> hybridManaMap = new EnumMap<ManaSymbol, HybridManaCost>(ManaSymbol.class) {{
/** /**
* Build map of all possible hybrid mana symbols assigning corresponding instance of hybrid mana cost. * Build map of all possible hybrid mana symbols assigning corresponding instance of hybrid mana cost.
*/ */
static { put(ManaSymbol.HYBRID_BG, new HybridManaCost(ColoredManaSymbol.B, ColoredManaSymbol.G));
hybridManaMap.put(ManaSymbol.HYBRID_BG, new HybridManaCost(ColoredManaSymbol.B, ColoredManaSymbol.G)); put(ManaSymbol.HYBRID_BR, new HybridManaCost(ColoredManaSymbol.B, ColoredManaSymbol.R));
hybridManaMap.put(ManaSymbol.HYBRID_BR, new HybridManaCost(ColoredManaSymbol.B, ColoredManaSymbol.R)); put(ManaSymbol.HYBRID_GU, new HybridManaCost(ColoredManaSymbol.G, ColoredManaSymbol.U));
hybridManaMap.put(ManaSymbol.HYBRID_GU, new HybridManaCost(ColoredManaSymbol.G, ColoredManaSymbol.U)); put(ManaSymbol.HYBRID_GW, new HybridManaCost(ColoredManaSymbol.G, ColoredManaSymbol.W));
hybridManaMap.put(ManaSymbol.HYBRID_GW, new HybridManaCost(ColoredManaSymbol.G, ColoredManaSymbol.W)); put(ManaSymbol.HYBRID_RG, new HybridManaCost(ColoredManaSymbol.R, ColoredManaSymbol.G));
hybridManaMap.put(ManaSymbol.HYBRID_RG, new HybridManaCost(ColoredManaSymbol.R, ColoredManaSymbol.G)); put(ManaSymbol.HYBRID_RW, new HybridManaCost(ColoredManaSymbol.R, ColoredManaSymbol.W));
hybridManaMap.put(ManaSymbol.HYBRID_RW, new HybridManaCost(ColoredManaSymbol.R, ColoredManaSymbol.W)); put(ManaSymbol.HYBRID_UB, new HybridManaCost(ColoredManaSymbol.U, ColoredManaSymbol.B));
hybridManaMap.put(ManaSymbol.HYBRID_UB, new HybridManaCost(ColoredManaSymbol.U, ColoredManaSymbol.B)); put(ManaSymbol.HYBRID_UR, new HybridManaCost(ColoredManaSymbol.U, ColoredManaSymbol.R));
hybridManaMap.put(ManaSymbol.HYBRID_UR, new HybridManaCost(ColoredManaSymbol.U, ColoredManaSymbol.R)); put(ManaSymbol.HYBRID_WB, new HybridManaCost(ColoredManaSymbol.W, ColoredManaSymbol.B));
hybridManaMap.put(ManaSymbol.HYBRID_WB, new HybridManaCost(ColoredManaSymbol.W, ColoredManaSymbol.B)); put(ManaSymbol.HYBRID_WU, new HybridManaCost(ColoredManaSymbol.W, ColoredManaSymbol.U));
hybridManaMap.put(ManaSymbol.HYBRID_WU, new HybridManaCost(ColoredManaSymbol.W, ColoredManaSymbol.U)); }};
}
/** /**
* Extracts mana symbols from {@link ManaCost} using {@link mage.ManaSymbol} as a base class for the mana symbols. * Extracts mana symbols from {@link ManaCost} using {@link mage.ManaSymbol} as a base class for the mana symbols.

View file

@ -181,7 +181,7 @@ public abstract class PlayerImpl implements Player, Serializable {
/** /**
* During some steps we can't play anything * During some steps we can't play anything
*/ */
protected final Map<PhaseStep, Step.StepPart> silentPhaseSteps = new HashMap<PhaseStep, Step.StepPart>() { protected final Map<PhaseStep, Step.StepPart> silentPhaseSteps = new EnumMap<PhaseStep, Step.StepPart>(PhaseStep.class) {
{ {
put(PhaseStep.DECLARE_ATTACKERS, Step.StepPart.PRE); put(PhaseStep.DECLARE_ATTACKERS, Step.StepPart.PRE);
} }