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)); }