예제 #1
0
        public static async Task <RiotVersion> GetInstalledVersion(string leagueDir)
        {
            var airInstalled = Directory.EnumerateDirectories(Path.Combine(leagueDir, AirPath));
            var airVersions  = from dir in airInstalled
                               select Version.Parse(Path.GetFileName(dir)) into v
                               orderby v descending
                               select v;

            var gameInstalled = Directory.EnumerateDirectories(Path.Combine(leagueDir, GamePath));
            var gameVersions  = from dir in gameInstalled
                                select Version.Parse(Path.GetFileName(dir)) into v
                                orderby v descending
                                select v;

            var slnInstalled = Directory.EnumerateDirectories(Path.Combine(leagueDir, SolutionPath));
            var slnVersions  = from dir in slnInstalled
                               select Version.Parse(Path.GetFileName(dir)) into v
                               orderby v descending
                               select v;

            var ver = new RiotVersion(airVersions.FirstOrDefault(), gameVersions.FirstOrDefault(), slnVersions.FirstOrDefault());
            await ver.GetManifest();

            return(ver);
        }
예제 #2
0
        public static async Task <RiotVersion> GetLatestVersion()
        {
            using (var web = new WebClient()) {
                var airList = await web.DownloadStringTaskAsync(Region.Current.ReleaseListing("projects", "lol_air_client"));

                var gameList = await web.DownloadStringTaskAsync(Region.Current.ReleaseListing("projects", "lol_game_client"));

                var solutionList = await web.DownloadStringTaskAsync(Region.Current.ReleaseListing("solutions", "lol_game_client_sln"));

                Version airVersion, gameVersion, solutionVersion;
                Version.TryParse(airList.Split('\n').FirstOrDefault(), out airVersion);
                Version.TryParse(gameList.Split('\n').FirstOrDefault(), out gameVersion);
                Version.TryParse(solutionList.Split('\n').FirstOrDefault(), out solutionVersion);

                var v = new RiotVersion(airVersion, gameVersion, solutionVersion);
                await v.GetManifest();

                return(v);
            }
        }