private static object ParseNumber(string json, ref int index, ref bool success) { PlayFabSimpleJson.EatWhitespace(json, ref index); int lastIndexOfNumber = PlayFabSimpleJson.GetLastIndexOfNumber(json, index); int length = lastIndexOfNumber - index + 1; string text = json.Substring(index, length); object result; if (text.IndexOf(".", StringComparison.OrdinalIgnoreCase) != -1 || text.IndexOf("e", StringComparison.OrdinalIgnoreCase) != -1) { double num; success = double.TryParse(json.Substring(index, length), NumberStyles.Any, CultureInfo.InvariantCulture, out num); result = num; } else if (text.IndexOf("-", StringComparison.OrdinalIgnoreCase) == -1) { ulong num2; success = ulong.TryParse(json.Substring(index, length), NumberStyles.Any, CultureInfo.InvariantCulture, out num2); result = num2; } else { long num3; success = long.TryParse(json.Substring(index, length), NumberStyles.Any, CultureInfo.InvariantCulture, out num3); result = num3; } index = lastIndexOfNumber + 1; return(result); }