private static Uri APIUri(string path, IDictionary <string, string> extraQuery) { Dictionary <string, string> dictionary; if (extraQuery != null) { dictionary = new Dictionary <string, string>(extraQuery); } else { dictionary = new Dictionary <string, string>(); } dictionary.Add("unityversion", Application.unityVersion); dictionary.Add("toolversion", "V4.1.0"); dictionary.Add("xunitysession", AssetStoreClient.ActiveOrUnauthSessionID); UriBuilder uriBuilder = new UriBuilder(AssetStoreClient.GetProperPath(path)); StringBuilder stringBuilder = new StringBuilder(); foreach (KeyValuePair <string, string> keyValuePair in dictionary) { string key = keyValuePair.Key; string arg = Uri.EscapeDataString(keyValuePair.Value); stringBuilder.AppendFormat("&{0}={1}", key, arg); } if (!string.IsNullOrEmpty(uriBuilder.Query)) { uriBuilder.Query = uriBuilder.Query.Substring(1) + stringBuilder; } else { uriBuilder.Query = stringBuilder.Remove(0, 1).ToString(); } DebugUtils.Log("preparing: " + uriBuilder.Uri); return(uriBuilder.Uri); }