public static PairsRaceColor ToLaneColor(this PairsRaceColors colors, Lane lane) { switch (colors) { case PairsRaceColors.WhiteRed: return(lane == Lane.Inner ? PairsRaceColor.White : PairsRaceColor.Red); case PairsRaceColors.YellowBlue: return(lane == Lane.Inner ? PairsRaceColor.Yellow : PairsRaceColor.Blue); default: throw new ArgumentOutOfRangeException(nameof(colors)); } }
public static bool HasRaceColor(this PairsRaceColors colors, PairsRaceColor raceColor) { switch (colors) { case PairsRaceColors.WhiteRed: return(raceColor == PairsRaceColor.White || raceColor == PairsRaceColor.Red); case PairsRaceColors.YellowBlue: return(raceColor == PairsRaceColor.Yellow || raceColor == PairsRaceColor.Blue); default: throw new ArgumentOutOfRangeException(nameof(colors)); } }
public static IEnumerable <PairsRaceColor> GetRaceColors(this PairsRaceColors colors) { switch (colors) { case PairsRaceColors.WhiteRed: return(new[] { PairsRaceColor.White, PairsRaceColor.Red }); case PairsRaceColors.YellowBlue: return(new[] { PairsRaceColor.Yellow, PairsRaceColor.Blue }); default: throw new ArgumentOutOfRangeException(nameof(colors)); } }
public static string ToShortString(this PairsRaceColors colors) { switch (colors) { case PairsRaceColors.WhiteRed: return("WhRd"); case PairsRaceColors.YellowBlue: return("YwBl"); default: throw new ArgumentOutOfRangeException(nameof(colors)); } }