Artemis.Modules.Games.Overwatch.OverwatchModel.ParseColorArray C# (CSharp) Метод

ParseColorArray() публичный Метод

public ParseColorArray ( string arrayString ) : ].Color[
arrayString string
Результат ].Color[
        public Color[,] ParseColorArray(string arrayString)
        {
            if (string.IsNullOrEmpty(arrayString))
                return null;
            var intermediateArray = arrayString.Split('|');
            if ((intermediateArray[0] == "1") || (intermediateArray.Length < 2))
                return null;
            var array = intermediateArray[1].Substring(1).Split(' ');
            if (!array.Any())
                return null;

            try
            {
                var colors = new Color[6, 22];
                foreach (var intermediate in array)
                {
                    if (intermediate.Length > 16)
                        continue;

                    // Can't parse to a byte directly since it may contain values >254
                    var parts = intermediate.Split(',').Select(int.Parse).ToArray();
                    if ((parts[0] >= 5) && (parts[1] >= 21))
                        continue;

                    colors[parts[0], parts[1]] = Color.FromRgb((byte) parts[2], (byte) parts[3], (byte) parts[4]);
                }
                return colors;
            }
            catch (FormatException e)
            {
                MainManager.Logger.Trace(e, "Failed to parse to color array");
                return null;
            }
        }