public ConvergeColor GetColor() { ConvergeColor color = 0; for (int Idx = 1; Idx < amounts.Length; ++Idx) { if (amounts[Idx] > 0) { color |= (ConvergeColor)(1 << (Idx - 1)); } } return(color); }
public static int ToIndex(this ConvergeColor self) { switch (self) { case ConvergeColor.Colorless: return(0); case ConvergeColor.White: return(1); case ConvergeColor.Blue: return(2); case ConvergeColor.Black: return(3); case ConvergeColor.Red: return(4); case ConvergeColor.Green: return(5); default: throw new ArgumentException(); } }