示例#1
0
        private async Task <(uint seasonPassProgressionHash, DestinyProgressionDefinition progressionDefinition)> GetSeasonPassProgress(uint seasonHash)
        {
            var season = await _manifest.LoadSeason(seasonHash);

            if (season.SeasonPassProgressionHash == 0)
            {
                return(0, null);
            }

            var progressionDefinition = await _manifest.LoadProgression(season.SeasonPassProgressionHash);

            return(season.SeasonPassProgressionHash, progressionDefinition);
        }
        public async Task <SeasonPassInfo> GetSeasonPassInfo(IDictionary <uint, DestinyProgression> progression)
        {
            var season = await _manifest.LoadSeason(SeasonHash);

            var seasonPass = await _manifest.LoadSeasonPass(season.SeasonPassHash);

            if (season.SeasonPassProgressionHash == 0)
            {
                return(null);
            }

            var baseProgression     = progression[season.SeasonPassProgressionHash];
            var prestigeProgression = progression[seasonPass.PrestigeProgressionHash];

            var rank = baseProgression.Level + prestigeProgression.Level;

            var seasonEndDate = EndDateOverride ?? season.EndDate.Value;

            return(new SeasonPassInfo(season.DisplayProperties.Name, seasonEndDate, rank, TargetRankPlus20Power));
        }