Artemis.Modules.Games.Overwatch.OverwatchModel.ParseCharacter C# (CSharp) Method

ParseCharacter() private method

private ParseCharacter ( OverwatchDataModel gameDataModel, Color colors ) : CharacterColor?
gameDataModel OverwatchDataModel
colors Color
return CharacterColor?
        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;
        }