1
0
Fork 0
mirror of https://github.com/correl/mage.git synced 2025-04-02 03:18:09 -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 java.util.ArrayList;
import java.util.EnumMap;
import java.util.HashMap;
import java.util.Map;
@ -16,7 +17,7 @@ import java.util.Map;
*/
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.U, ManaSymbol.U);
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)
* 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.
*/
static {
hybridManaMap.put(ManaSymbol.HYBRID_BG, new HybridManaCost(ColoredManaSymbol.B, ColoredManaSymbol.G));
hybridManaMap.put(ManaSymbol.HYBRID_BR, new HybridManaCost(ColoredManaSymbol.B, ColoredManaSymbol.R));
hybridManaMap.put(ManaSymbol.HYBRID_GU, new HybridManaCost(ColoredManaSymbol.G, ColoredManaSymbol.U));
hybridManaMap.put(ManaSymbol.HYBRID_GW, new HybridManaCost(ColoredManaSymbol.G, ColoredManaSymbol.W));
hybridManaMap.put(ManaSymbol.HYBRID_RG, new HybridManaCost(ColoredManaSymbol.R, ColoredManaSymbol.G));
hybridManaMap.put(ManaSymbol.HYBRID_RW, new HybridManaCost(ColoredManaSymbol.R, ColoredManaSymbol.W));
hybridManaMap.put(ManaSymbol.HYBRID_UB, new HybridManaCost(ColoredManaSymbol.U, ColoredManaSymbol.B));
hybridManaMap.put(ManaSymbol.HYBRID_UR, new HybridManaCost(ColoredManaSymbol.U, ColoredManaSymbol.R));
hybridManaMap.put(ManaSymbol.HYBRID_WB, new HybridManaCost(ColoredManaSymbol.W, ColoredManaSymbol.B));
hybridManaMap.put(ManaSymbol.HYBRID_WU, new HybridManaCost(ColoredManaSymbol.W, ColoredManaSymbol.U));
}
put(ManaSymbol.HYBRID_BG, new HybridManaCost(ColoredManaSymbol.B, ColoredManaSymbol.G));
put(ManaSymbol.HYBRID_BR, new HybridManaCost(ColoredManaSymbol.B, ColoredManaSymbol.R));
put(ManaSymbol.HYBRID_GU, new HybridManaCost(ColoredManaSymbol.G, ColoredManaSymbol.U));
put(ManaSymbol.HYBRID_GW, new HybridManaCost(ColoredManaSymbol.G, ColoredManaSymbol.W));
put(ManaSymbol.HYBRID_RG, new HybridManaCost(ColoredManaSymbol.R, ColoredManaSymbol.G));
put(ManaSymbol.HYBRID_RW, new HybridManaCost(ColoredManaSymbol.R, ColoredManaSymbol.W));
put(ManaSymbol.HYBRID_UB, new HybridManaCost(ColoredManaSymbol.U, ColoredManaSymbol.B));
put(ManaSymbol.HYBRID_UR, new HybridManaCost(ColoredManaSymbol.U, ColoredManaSymbol.R));
put(ManaSymbol.HYBRID_WB, new HybridManaCost(ColoredManaSymbol.W, ColoredManaSymbol.B));
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.

View file

@ -181,7 +181,7 @@ public abstract class PlayerImpl implements Player, Serializable {
/**
* 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);
}