public static String Get(LoLClientRegion region, bool force = false) { if (!LastCheckedTimes.ContainsKey(region)) { LastKnownVersions.Add(region, "3.15.14_01_08_11_31"); LastCheckedTimes.Add(region, DateTime.UtcNow.AddDays(-1)); } if (DateTime.UtcNow > LastCheckedTimes[region].AddHours(5) || force) { using (var wc = new WebClient()) { String[] versions = wc.DownloadString(String.Format(ReleaseListing, region.ToString())).Split(new string[] { Environment.NewLine }, StringSplitOptions.None); String tmpFile = Path.GetTempFileName(); for (int i = 0; i < (int)versions.Length; i++) { try { wc.DownloadFile(String.Format(LibCommon, versions[i]), tmpFile); break; } catch (WebException webException) { WebException e = webException; if ((e.Status != WebExceptionStatus.ProtocolError ? true : ((HttpWebResponse)e.Response).StatusCode != HttpStatusCode.NotFound)) { throw e; } } } String version = GetVersion(tmpFile); LastCheckedTimes[region] = DateTime.UtcNow; LastKnownVersions[region] = version; File.Delete(tmpFile); return(version); } } else { return(LastKnownVersions[region]); } }
public static String Get(LoLClientRegion region, bool force = false) { if (!LastCheckedTimes.ContainsKey(region)) { LastKnownVersions.Add(region, "3.15.14_01_08_11_31"); LastCheckedTimes.Add(region, DateTime.UtcNow.AddDays(-1)); } if (DateTime.UtcNow > LastCheckedTimes[region].AddHours(5) || force) { using (var wc = new WebClient()) { String[] versions = wc.DownloadString(String.Format(ReleaseListing, region.ToString())).Split(new string[] { Environment.NewLine }, StringSplitOptions.None); String tmpFile = Path.GetTempFileName(); for (int i = 0; i < (int)versions.Length; i++) { try { wc.DownloadFile(String.Format(LibCommon, versions[i]), tmpFile); break; } catch (WebException webException) { WebException e = webException; if ((e.Status != WebExceptionStatus.ProtocolError ? true : ((HttpWebResponse)e.Response).StatusCode != HttpStatusCode.NotFound)) { throw e; } } } String version = GetVersion(tmpFile); LastCheckedTimes[region] = DateTime.UtcNow; LastKnownVersions[region] = version; File.Delete(tmpFile); return version; } } else { return LastKnownVersions[region]; } }
public static String getLoginQueueAddress(this LoLClientRegion region) { return(GetAttribute <RiotLoginQueueAddressAttribute>(region).Address); }
public static String getAddress(this LoLClientRegion region) { return(GetAttribute <RiotServerAddressAttribute>(region).Address); }