private CharacterColor? ParseCharacter(OverwatchDataModel gameDataModel, Color[,] colors)
{
var characterMatch = OverwatchCharacters.FirstOrDefault(c => c.Color == colors[0, 20]);
// If a new character was chosen, let the other methods know
if (characterMatch.Character != gameDataModel.Character)
_characterChange = DateTime.Now;
// If no character was found, this method shouldn't continue
if (characterMatch.Character == OverwatchCharacter.None)
return characterMatch;
// If WASD isn't orange (any of them will do), player is in character select
_stickyStatus.Value = ControlsShown(colors) ? OverwatchStatus.InGame : OverwatchStatus.InCharacterSelect;
// Update the datamodel
gameDataModel.Character = characterMatch.Character;
return characterMatch;
}