示例#1
0
 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];
     }
 }
示例#3
0
 public static String getLoginQueueAddress(this LoLClientRegion region)
 {
     return(GetAttribute <RiotLoginQueueAddressAttribute>(region).Address);
 }
示例#4
0
 public static String getAddress(this LoLClientRegion region)
 {
     return(GetAttribute <RiotServerAddressAttribute>(region).Address);
 }