package forge;
import forge.card.mana.ManaCost;
import java.util.EnumSet;
/**
* <p>Color class.</p>
*
* @author Forge
* @version $Id: $
*/
public enum Color {
Colorless(0),
White(1),
Green(2),
Red(4),
Black(8),
Blue(16);
@SuppressWarnings("unused")
private int flag = 0;
/**
* <p>Constructor for Color.</p>
*
* @param c a int.
*/
Color(int c) {
flag = c;
}
/**
* <p>Colorless.</p>
*
* @return a {@link java.util.EnumSet} object.
*/
public static EnumSet<Color> Colorless() {
EnumSet<Color> colors = EnumSet.of(Color.Colorless);
return colors;
}
/**
* <p>ConvertStringsToColor.</p>
*
* @param s an array of {@link java.lang.String} objects.
* @return a {@link java.util.EnumSet} object.
*/
public static EnumSet<Color> ConvertStringsToColor(String[] s) {
EnumSet<Color> colors = EnumSet.of(Color.Colorless);
for (int i = 0; i < s.length; i++) {
colors.add(ConvertFromString(s[i]));
}
if (colors.size() > 1)
colors.remove(Color.Colorless);
return colors;
}
/**
* <p>ConvertFromString.</p>
*
* @param s a {@link java.lang.String} object.
* @return a {@link forge.Color} object.
*/
public static Color ConvertFromString(String s) {
{
if (s.equals(Constant.Color.White))
return Color.White;
else if (s.equals(Constant.Color.Green))
return Color.Green;
else if (s.equals(Constant.Color.Red))
return Color.Red;
else if (s.equals(Constant.Color.Black))
return Color.Black;
else if (s.equals(Constant.Color.Blue))
return Color.Blue;
return Color.Colorless;
}
}
/**
* <p>ConvertManaCostToColor.</p>
*
* @param m a {@link forge.card.mana.ManaCost} object.
* @return a {@link java.util.EnumSet} object.
*/
public static EnumSet<Color> ConvertManaCostToColor(ManaCost m) {
EnumSet<Color> colors = EnumSet.of(Color.Colorless);
if (m.isColor("W"))
colors.add(Color.White);
if (m.isColor("G"))
colors.add(Color.Green);
if (m.isColor("R"))
colors.add(Color.Red);
if (m.isColor("B"))
colors.add(Color.Black);
if (m.isColor("U"))
colors.add(Color.Blue);
if (colors.size() > 1)
colors.remove(Color.Colorless);
return colors;
}
/**
* <p>toString.</p>
*
* @return a {@link java.lang.String} object.
*/
public String toString() {
if (this.equals(Color.White))
return Constant.Color.White;
else if (this.equals(Color.Green))
return Constant.Color.Green;
else if (this.equals(Color.Red))
return Constant.Color.Red;
else if (this.equals(Color.Black))
return Constant.Color.Black;
else if (this.equals(Color.Blue))
return Constant.Color.Blue;
else
return Constant.Color.Colorless;
}
}