HexapiBackground.IK.IkController.Parse C# (CSharp) Method

Parse() private method

private Parse ( string data ) : void
data string
return void
        internal void Parse(string data)
        {
            try
            {
                double ping;

                if (data.Contains("#YPR"))
                {
                    data = data.Replace("#YPR=", "");

                    var yprArray = data.Split(',');

                    if (yprArray.Length >= 1)
                    {
                        double.TryParse(yprArray[0], out _yaw);
                        _yaw = Math.Round(_yaw, 1);
                    }

                    if (yprArray.Length >= 2)
                    {
                        double.TryParse(yprArray[1], out _pitch);
                        _pitch = Math.Round(_pitch, 1);
                    }

                    if (yprArray.Length >= 3)
                    {
                        double.TryParse(yprArray[2], out _roll);
                        _roll = Math.Round(_roll, 1);
                    }

                    return;
                }
                    
                if (data.Contains("#A-C="))
                {
                    var accelData = data.Replace("#A-C=", "").Split(',');

                    if (accelData.Length >= 1)
                    {
                        double.TryParse(accelData[0], out _accelX);
                        _accelX = Math.Round(_accelX, 1);
                    }

                    if (accelData.Length >= 2)
                    {
                        double.TryParse(accelData[1], out _accelY);
                        _accelY = Math.Round(_accelY, 1);
                    }

                    if (accelData.Length >= 3)
                    {
                        double.TryParse(accelData[2], out _accelZ);
                        _accelZ = Math.Round(_accelZ, 1);
                    }

                    return;
                }

                if (data.Contains("#L"))
                {
                    data = data.Replace("#L", "");

                    if (double.TryParse(data, out ping))
                        _leftInches = GetInchesFromPingDuration(ping);

                    return;
                }
                if (data.Contains("#FL"))
                {
                    data = data.Replace("#FL", "");

                    if (double.TryParse(data, out ping))
                        _farLeftInches = GetInchesFromPingDuration(ping);

                    return;
                }
                if (data.Contains("#C"))
                {
                    data = data.Replace("#C", "");

                    if (double.TryParse(data, out ping))
                        _centerInches = GetInchesFromPingDuration(ping);

                    return;
                }
                if (data.Contains("#R"))
                {
                    data = data.Replace("#R", "");

                    if (double.TryParse(data, out ping))
                        _rightInches = GetInchesFromPingDuration(ping);

                    return;
                }
                if (data.Contains("#FR"))
                {
                    data = data.Replace("#FR", "");

                    if (double.TryParse(data, out ping))
                        _farRightInches = GetInchesFromPingDuration(ping);
                }
            }
            catch
            {
                //
            }
        }